切片
什么是切片
切片(Slice) 是 Rust 中一种动态长度的视图,让你可以引用集合中的一部分连续元素,而不需要拷贝数据。
| 特点 | 说明 |
|---|---|
| 不拥有数据 | 只是引用,不分配新内存 |
| 动态长度 | 编译时不知道多长(用 & 修饰) |
| 胖指针 | 内存里是 (地址, 长度) 两个值 |
| 连续内存 | 元素必须紧挨着存 |
很啰嗦对不对?
切片 = 引用 + 长度 = 看别人数据的窗口(所以不具有WO权限只有R权限)
实例
1.字符串切片
rust
let s = String::from("hello world");
let slice: &str = &s[0..5]; // "hello"
let slice: &str = &s[6..]; // "world"
let slice: &str = &s[..]; // "hello world"(全部)
左闭右开
2.数组切片
rust
let arr = [10, 20, 30, 40, 50];
let slice: &[i32] = &arr[1..4]; // [20, 30, 40]
let slice: &[i32] = &arr[..2]; // [10, 20]
- 本文链接: https://sharkoff-blog.top/posts/3.%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95x3/
- 版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 许可协议。

