Rust 学习笔记 07:Slice 类型
Rust 学习笔记 07:Slice 类型 “Slice and dice your data safely.” 在 Go 语言中,Slice (切片) 是一个非常核心的概念,它底层是一个结构体 (ptr, len, cap)。 在 Rust 中,Slice 也是类似的,但它有一个本质的区别:Rust 的 Slice 是一种引用(Borrowed Type)。 它不拥有数据,它只是借用了数据的一部分。 1. 字符串切片 (String Slices) 假设我们有一个字符串 s: 1let s = String::from("hello world"); 我们可以创建一个切片,指向它的一部分: 1let hello = &s[0..5]; // 指向 0,1,2,3,4 2let world = &s[6..11]; 注意那个 & 符号,说明 hello 是一个引用。 它的类型是 &str(读作 “string slice”)。它内部包含两个字段: 指向数据的指针 (ptr) 切片的长度 (len) 这和 Go 的 Slice 结构几乎一样,只是少了容量 (cap),且必须依附于原字符串存在。 2. 切片与所有权 既然 Slice 是引用,它就受借用规则的约束。 ...