rust-course icon indicating copy to clipboard operation
rust-course copied to clipboard

'7.3. String、&str 和 str' 内容有误导

Open idlercloud opened this issue 2 years ago • 1 comments

str 类型是硬编码进可执行文件,也无法被修改

这一句是比较显然的错误。作者希望表述的应该是字符串字面量,如 "abc" 这样直接包含在源代码中的字符串,其类型为 &'static str。(注意,这并不意味着有 'static 生命周期的 str 就不可变了,仍然有办法构造出具有 'static 生命周期的 &mut str

然而 str 类型本身是可以修改的,可以试着用 Box<str> 调用 make_ascii_uppercase() 验证。

正如 String 只是 Vec<u8> 的包装,str 也基本上只是 [u8] 的一个子集,[u8] 可变,str 自然也可变,只是依旧要遵循 utf8 编码罢了。

idlercloud avatar Jul 06 '23 08:07 idlercloud

谢谢提醒,我看一下哈。

sunface avatar Jul 17 '23 14:07 sunface