Rust
Rust 基础篇 (七):切片类型 (Slice) 与零拷贝内存视图
Waitwalker2026-08-249 min
## 1. 什么是切片?
切片是没有所有权的数据类型,它引用集合中一段连续的元素序列。在底层,切片是一个 **胖指针 (Fat Pointer)**,包含:
1. 指向数据首地址的裸指针。
2. 切片的长度 (Length)。
```rust
fn first_word(s: &str) -> &str {
let bytes = s.as_bytes();
for (i, &item) in bytes.iter().enumerate() {
if item == b' ' {
return &s[0..i]; // 零拷贝切片视图
}
}
&s[..]
}
```
## 2. 字符串字面量的本质
所有的字符串字面量(如 `let s = "Hello";`)其类型都是 `&str`,直接指向编译产物二进制中的只读数据段,完全不需要在堆上开辟内存。
#Rust#切片#零拷贝#性能调优
回到文章列表 →