Rust 编程视频教程对应讲解内容-slice

视频地址

头条地址:https://www.ixigua.com/i6765442674582356483
B站地址:https://www.bilibili.com/video/av78062009?p=1
网易云课堂地址:https://study.163.com/course/introduction.htm?courseId=1209596906#/courseDetail?tab=1

讲解内容

1、字符串slice
字符串 slice(string slice)是 String 中一部分值的引用。例子:

let s = String::from("hello world");
let hello = &s[0..5]; //包含下标0,不包含5
let world = &s[6..11];//包含下标6,不包含下标11
let hello = &s[0..=4];//包含下标4
let world = &s[6..=10];//包含下标10

也可以写为:

let s1 = &s[2..];
let s2 = &s[..3];

注意:字符串 slice range 的索引必须位于有效的 UTF-8 字符边界内,如果尝试从一个多字节字符的中间位置创建字符串 slice,则程序将会因错误而退出。出于介绍字符串 slice 的目的,本部分假设只使用 ASCII 字符集。

2、字面值就是slice
字符串字面值被储存在二进制文件中吗。

let s = "Hello, world!";

这里 s 的类型是 &str:它是一个指向二进制程序特定位置的 slice。这也就是为什么字符串字面值是不可变的;&str 是一个不可变引用。

3、其它类型的slice

let a = [1, 2, 3, 4, 5];
let slice = &a[1..3];
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值