Rust字符串切片、结构体和枚举类

1.字符串切片(slice):就是对数据值的部分引用
fn main() {
   
   
    let s = String::from("broadcast");

    let part1 = &s[0..5];
    let part2 = &s[5..9];

    println!("{}={}+{}", s, part1, part2);
}

在这里插入图片描述
上图解释了字符串切片的原理。
其中,“…”这个符号需要了解一下,x…y表示[x,y)的含义。…y表示0~y。x…表示x到结束,…表示开始到结尾。
有两个字符串类型我们在这里区分一下:str和string类型。
凡是用双引号包括的字符串常量整体的类型性质都是 str:let s=“loot”;String 类型是 Rust 标准公共库提供的一种数据类型,它的功能更完善——它支持字符串的追加、清空等实用的操作。String 和 str 除了同样拥有一个字符开始位置属性和一个字符串长度属性以外还有一个容量(capacity)属性。
String 和 str 都支持切片,切片的结果是 &str 类型的数据。
有一个快速的方法将string类型转换成str类型

let s1 = String::from("hello");
let s2 = &s1[..];
2.非字符串切片

除了字符串可以切片外,其他还有一些线性数据结构也支持切片操作,例如数组。

fn main() {
   
   
    let arr = [1, 3, 5, 7, 9];
    let part = &arr[0..3];
    for i 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值