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]

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

技术教程推荐

算法面试通关40讲 -〔覃超〕

消息队列高手课 -〔李玥〕

恋爱必修课 -〔李一帆〕

MySQL 必知必会 -〔朱晓峰〕

说透5G -〔杨四昌〕

如何落地业务建模 -〔徐昊〕

数据分析思维课 -〔郭炜〕

李智慧 · 高并发架构实战课 -〔李智慧〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

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