这段代码中 w[..1] 和 w[0] 有什么区别,为什么 w[0] 不起作用?

问题描述 投票:0回答:1
  str.split_whitespace()
        .map(|w| w[..1].to_uppercase() +&w[1..].to_lowercase())
        .collect()

w[0]
w[..1]
完全一样,但我知道使用
w[0]
导致错误。我想知道为什么会出现错误。

我对他们两个的了解:

w[0]
返回单个字符,
w[..1]
返回包含第一个字符的字符串切片。

string dictionary rust character slice
1个回答
0
投票

w[0]
返回单个字符”,不,
&str
不能被
usize
(或任何整数)索引,因为索引总是 产生对内部的引用(为方便起见,立即被
a[b]
取消引用
self
的语法)并且没有任何我们可以参考的
char
s 开始,因为字符串以 UTF-8 编码存储在字符串切片中。

© www.soinside.com 2019 - 2024. All rights reserved.