复合类型
切片
切片并不是 Rust 独有的概念,在 Go 语言中就非常流行,它允许我们引用集合中部分连续的元素序列,而不是引用整个集合。
字符串
什么是字符串
Rust 中的字符是 Unicode 类型,因此每个字符占据 4 个字节内存空间,但是在字符串中不一样,字符串是 UTF-8 编码,也就是字符串中的字符所占的字节数是变化的(1 - 4),这样有助于大幅降低字符串所占用的内存空间。当 Rust 用户提到字符串时,往往指的就是 String
类型和 &str
字符串切片类型,这两个类型都是 UTF-8 编码。
String 与 &str 的转换
从 &str
生成 String
类型的操作:
- String::from("hello,world")
- "hello,world".to_string()
从 String
生成 &str
类型的操作:
取引用即可。这种灵活的用法是因为 deref
隐式强制转换。