str.split_whitespace()
.map(|w| w[..1].to_uppercase() +&w[1..].to_lowercase())
.collect()
w[0]
和 w[..1]
完全一样,但我知道使用 w[0]
导致错误。我想知道为什么会出现错误。
我对他们两个的了解:
w[0]
返回单个字符,w[..1]
返回包含第一个字符的字符串切片。
“
w[0]
返回单个字符”,不,&str
不能被 usize
(或任何整数)索引,因为索引总是 产生对内部的引用(为方便起见,立即被 a[b]
取消引用self
的语法)并且没有任何我们可以参考的 char
s 开始,因为字符串以 UTF-8 编码存储在字符串切片中。