3# 切片

作者: IamaStupid | 来源:发表于2022-02-23 13:52 被阅读0次

切片(Slice)

切片(Slice)是对数据值的部分引用,但其大小在编译时是不确定的。
相反,切片是一个双字对象(two-word object),第一个字是一个指向数据的指针,第二个字是切片的长度。这个 “字” 的宽度和 usize 相同,由处理器架构决定,比如在 x86-64 平台上就是 64 位。slice 可以用来借用数组的一部分。
slice 的类型标记为 &[T]。

切片结果是引用类型。

slice 是一类引用,所以它没有所有权。

    let x = [1,2,3,4];
    println!("{:?} {:?}", &x, &x[0..2]);   // [1, 2, 3, 4] [1, 2]

    let x = "abcd";
    println!("{:?} {:?}", &x, &x[0..2]);  //"abcd" "ab"

    let x = (1, 0.1, "aaa");
    println!("{:?}", &x);   //(1, 0.1, "aaa")

元组变量x中,如果使用&x[0..2],则会报错。

let s = "Hello, world!";

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

相关文章

  • 3# 切片

    切片(Slice) 切片(Slice)是对数据值的部分引用,但其大小在编译时是不确定的。相反,切片是一个双字对象(...

  • Day day up

    #day 3# 早起2000个跳绳

  • 交换器水帽安装不合格,树脂跑损

    案例名称:3#阳床安装下室水帽不合格,造成树脂跑损 案例时间2016.5.8. 案例经过:3#阳床清洗下室水帽,检...

  • 64-3

    3# 屯 Beginnings Implementing the New.开始实施新的。 In breaking ...

  • 3#

    想起雨后那个潮湿的晚上,走在操场上散步。我穿着拖鞋走路,地上的水会泛到小腿上,我抱怨了几句。你立马停下来跟我换鞋穿...

  • 3#

  • 轧钢厂棒材3#台电脑画面增设冷床上钢测温仪显示和趋势图效果好

    近期,轧钢厂电气技术人员依据新国标生产后,3#台操作工需实时监控冷床上钢温度的实际要求,在3#台轧线电脑显示...

  • 15.Go_Slice(切片)

    Go 切片 定义切片 切片初始化 len()和cap()函数 空(nil)切片 切片拦截 append() 和co...

  • 2018-06-21

    方大萍安钢铁公司安钢片3#门岗物流取消计量卡 3月15日安钢片3#岗亭全面实现门岗物流自动放行控制,门岗窗前没有以...

  • Python的高级特性

    切片 list切片 tuple切片 str切片 迭代 在Python中迭代是通过for ... in ...来实现...

网友评论

      本文标题:3# 切片

      本文链接:https://www.haomeiwen.com/subject/cjsglrtx.html