切片

收藏254

阅读11193

更新时间2025-08-27

切片是指向内存块的指针。 切片可用于访问存储在连续内存块中的部分数据。 它可以与数组、向量和字符串等数据结构一起使用。 切片使用索引号来访问部分数据。 切片的大小在运行时确定。

切片是指向实际数据的指针。 它们通过函数引用传递,这也称为借用。

例如,切片可用于获取字符串值的一部分。 切片字符串是指向实际字符串对象的指针。 因此,我们需要指定字符串的起始和结束索引。 索引和数组一样从0开始。

语法

let sliced_value = &data_structure[start_index..end_index]

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

下图显示了一个示例字符串Tutorials,它有 9 个字符。 第一个字符的索引为 0,最后一个字符的索引为 8。

字符串教程

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

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

输出

length of string is 9
rials

示例 - 分割整数数组

main() 函数声明一个包含 5 个元素的数组。 它调用 use_slice() 函数并向其传递一个包含三个元素的切片(指向数据数组)。 切片通过引用传递。 use_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]

可变切片

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

fn main(){
   let mut data = [10,20,30,40,50];
   use_slice(&mut data[1..4]);
   // passes references of 
   20, 30 and 40
   println!("{:?}",data);
}
fn use_slice(slice:&mut [i32]) {
   println!("length of slice is {:?}",slice.len());
   println!("{:?}",slice);
   slice[0] = 1010; // replaces 20 with 1010
}

输出

length of slice is 3
[20, 30, 40]
[10, 1010, 30, 40, 50]

上面的代码将一个可变切片传递给use_slice()函数。 该函数修改原始数组的第二个元素。


相关

视频

RELATED VIDEOS

更多

免费

phpStudy极速入门视频教程

免费

Midjourney基础课程
初级 Midjourney基础课程

11149次学习

收藏

免费

极客学院Git使用视频教程

免费

尚观shell视频教程
高级 尚观shell视频教程

15709次学习

收藏

免费

尚观Linux入门视频教程
初级 尚观Linux入门视频教程

42887次学习

收藏

免费

尚观Linux初级视频教程
初级 尚观Linux初级视频教程

40264次学习

收藏

免费

尚观Linux中级视频教程
中级 尚观Linux中级视频教程

48298次学习

收藏

免费

尚观Linux高级视频教程
高级 尚观Linux高级视频教程

41982次学习

收藏

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号