我正在读The Rust Programming Language。 docs define a String
为“可增长”:
UTF-8编码的可增长字符串。
我有found that growable is not the same as mutable,但是 他们并没有真正解释什么使类型“可增长”。
给出此let mut guess = String::new()
,
mut
如何更改可增长的字符串?答案 0 :(得分:4)
您对这里的措辞太想了; “可增长”仅表示它可以增长。最初分配3个字节以包含String
的{{1}}可以增长到6个字节以包含"abc"
。内存分配可以变大(变小)。 “可成长”一词没有特定的Rust类型系统。
更改"abcdef"
的容量是一种特殊的更改,因此您需要一个可变的String
才能增长字符串。您还需要一个可变的String
来进行其他类型的更改,这些更改不涉及更改分配。
可变字符串切片(String
)是不能变长或变短但可以更改的字符串类型。
&mut str
另请参阅: