【Rust】数组切片(二)
环境
- Time 2022-03-01
- Rust 1.59.0
概念
数组切片是引用数组中连续的一部分。
示例
chunks
按照固定的长度,截取成一个迭代器,最后一个可能不满足长度要求。
fn main() {
let arr = [0, 1, 2, 3, 4];
let chunks = arr.chunks(2);
for ele in chunks {
println!("{ele:?}");
}
}
chunks_mut
按照固定的长度,截取成一个迭代器,其中的元素可变,最后一个可能不满足长度要求。
Rust 中的方法如果以
mut
结尾,表示返回的是一个可变的变量。
fn main() {
let mut arr = [0, 1, 2, 3, 4];
for chunk in arr.chunks_mut(2) {
for ele in chunk {
*ele += 1
}
}
println!("{arr:?}");
}
chunks_exact
精确截取,如果最后一个元素长度不符合要求,则不会输出,可变版本 chunks_exact_mut
。
fn main() {
let arr = [0, 1, 2, 3, 4];
for chunk in arr.chunks_exact(2) {
println!("{chunk:?}");
}
}
rchunks
从右往左截取,元素的顺序不变,可变版本 rchunks_mut
。
fn main() {
let arr = [0, 1, 2, 3, 4];
for chunk in arr.rchunks(2) {
println!("{chunk:?}");
}
}
rchunks_exact
从右往左精确截取,元素的顺序不变,可变版本 rchunks_exact_mut
。
fn main() {
let arr = [0, 1, 2, 3, 4];
for chunk in arr.rchunks_exact(2) {
println!("{chunk:?}");
}
}
总结
了解了数组切片中 chunk
的几种方式,包括普通截取,精确截取,反向截取。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-05-26 JavaWeb:ServletResponse