1.字符串切片(slice):就是对数据值的部分引用
fn main() {
let s = String::from("broadcast");
let part1 = &s[0..5];
let part2 = &s[5..9];
println!("{}={}+{}", s, part1, part2);
}

上图解释了字符串切片的原理。
其中,“…”这个符号需要了解一下,x…y表示[x,y)的含义。…y表示0~y。x…表示x到结束,…表示开始到结尾。
有两个字符串类型我们在这里区分一下:str和string类型。
凡是用双引号包括的字符串常量整体的类型性质都是 str:let s=“loot”;String 类型是 Rust 标准公共库提供的一种数据类型,它的功能更完善——它支持字符串的追加、清空等实用的操作。String 和 str 除了同样拥有一个字符开始位置属性和一个字符串长度属性以外还有一个容量(capacity)属性。
String 和 str 都支持切片,切片的结果是 &str 类型的数据。
有一个快速的方法将string类型转换成str类型
let s1 = String::from("hello");
let s2 = &s1[..];
2.非字符串切片
除了字符串可以切片外,其他还有一些线性数据结构也支持切片操作,例如数组。
fn main() {
let arr = [1, 3, 5, 7, 9];
let part = &arr[0..3];
for i

最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



