Rust - 切片(Slices)

Rust - 切片(Slices) 首页 / Rust入门教程 / Rust - 切片(Slices)

Slice切片是指向内存块的指针,slice可用于访问存储在连续内存块中的数据部分,它可以与数组,向量和字符串之类的数据结构一起使用。

Slices - 语法

let sliced_value=&data_structure[start_index..end_index]

最小索引值为0,最大索引值为数据结构的大小,注意end_index将不包含在最终字符串中。

链接:https://www.learnfk.comhttps://www.learnfk.com/rust/rust-slices.html

来源:LearnFk无涯教程网

以下代码从字符串中提取5个字符(从索引4开始)。

fn main() {
   let n1="Learnfk".to_string();
   println!("length of string is {}",n1.len());
   let c1=&n1[4..9]; 
   
   //获取 4、5、6、7 和 8 个索引处的字符
   println!("{}",c1);
}
7

Slices - 整数数组

main()函数声明一个包含5个元素的数组,它调用 use_slice()函数,并将三个元素的slice(指向数据数组)传递给它,slice通过引用传递,use_slice()函数输出slice的值及其长度。

fn main(){
   let data=[10,20,30,40,50];
   use_slice(&data[1..4]);
}
fn use_slice(slice:&[i32]) { 
   //正在获取切片或借用 i32 数组的一部分
   println!("length of slice is {:?}",slice.len());
   println!("{:?}",slice);
}
length of slice is 3
[20, 30, 40]

Slices - 可变切片

&mut关键字可用于将切片标签为可变的。

无涯教程网

fn main(){
   let mut data=[10,20,30,40,50];
   use_slice(&mut data[1..4]);
   //传递引用
20, 30 and 40 println!("{:?}",data); } fn use_slice(slice:&mut [i32]) { println!("length of slice is {:?}",slice.len()); println!("{:?}",slice); slice[0]=1010; //用 1010 替换 20 }
length of slice is 3
[20, 30, 40]
[10, 1010, 30, 40, 50]

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

快速上手Kotlin开发 -〔张涛〕

Go语言核心36讲 -〔郝林〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

设计模式之美 -〔王争〕

MongoDB高手课 -〔唐建法(TJ)〕

架构实战案例解析 -〔王庆友〕

技术面试官识人手册 -〔熊燚(四火)〕

玩转Vue 3全家桶 -〔大圣〕

程序员职业规划手册 -〔雪梅〕

好记忆不如烂笔头。留下您的足迹吧 :)