字符切片

先给出个例子:

fn main() {let s = String::from("hello world !");let slice0 = &s[0..5];let slice1 = &s[..5];let slice2 = &s[6..s.len()];let slice3= &s[6..];let slice4 = &s[..];println!("{}\n{}\n{}\n{}\n{}", slice0, slice1, slice2, slice3, slice4);
}

输出结果:

hello
hello
world !
world !
hello world !

切片的区间是左闭右开,而且切片是引用类型的,这相当于地址的一个范围,所以我们使用&s的方式来表示。

字符串相当于一个切片,比如:

let s = "hello world !";

s相当于一个&s[..]的类型。

切片默认是不可变的。一般来说处理字符串的函数,可以写成切片的类型,rust中用&str表示切片类型,比如:

fn main() {let s = "hello world !";println!("{}", foo(s, 1, 8));let s2 = String::from("I am cat, not a cat !");println!("{}", foo(&s2, 0, 10));
}fn foo(s: &str, start: usize, end: usize) -> &str {&s[start..end]
}

其他类型的切片

数组也可以进行切片操作,代码实例:

fn main() {let a = [1, 2, 3, 4, 5, 6];let slice = &a[2..4];for num in slice {println!("{}", num);}
}

rust笔记4 slice类型相关推荐

  1. rust笔记6 枚举类型

    基础概念 rust的枚举类型相对于C++来说,有更强大的表现能力,先给出最基本的定义方式: enum IP{V4,V6, }fn main() {let ipv4 = IP::V4;let ipv6 ...

  2. Go圣经-学习笔记之复合类型(二)

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇 Go圣经-学习笔记之复合类型 下一篇 Go圣经-学习笔记之复合数据结构(三) map介绍和简单使用 map是一种无序的 ...

  3. rust中的slice

    一.什么是切片(Slice) 切片这个概念很形象,也很容易为人理解.正如一个面包,如果一个无法吃掉全部,那么给他切一片不正好么?既不浪费,又不会引起不必要的后果.这样比喻不是很贴切,但其实意思有些类似 ...

  4. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...

  5. python slice类型_复合类型Slice python中的list

    # GO types Slice ### Author 品茶 > Slice(切片)代表变长的序列,序列中每个元素都具有相同的类型,slice类型写成[]T,T代表slice中元素的类型,sli ...

  6. SAP笔记-物料移动类型和后勤自动科目设置

    SAP笔记-物料移动类型和后勤自动科目设置 http://blog.csdn.net/fangkailove/article/details/3889891 物料移动类型和后勤自动科目设置(2009/ ...

  7. c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等

    关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...

  8. 【Rust 笔记】09-特型与泛型

    09 - 特型与泛型 Rust 的多态性: 特型(trait) 泛型(generic) 特型:Rust 对接口或抽象基类的实现. 如下写字节的特型 std::io::Write: trait Writ ...

  9. Rust 标准库字符串类型String及其46种常用方法

    Rust字符串 Rust主要有两种类型的字符串:&str和String &str 由&[u8]表示,UTF-8编码的字符串的引用,字符串字面值,也称作字符串切片.&st ...

最新文章

  1. 生于俄罗斯的 Web 服务器王者 Nginx,现宣布俄罗斯禁止贡献!
  2. js使用计时事件制作的钟表
  3. python requests请求失败重试_Python Requests.post()请求失败时的retry设置
  4. validate+jquery+ajax表单验证
  5. 利用微信的weui框架上传、预览和删除图片
  6. linux shell 上传,下载ftp文件
  7. html 随机出一个地址,nginx random_index 一直指向一个html页面,不会随机
  8. 视频投屏技术原理分享
  9. python创建简单网站
  10. Android中,Sqlite数据库读取数据为空的问题
  11. 排队论和对策论(博弈论)
  12. 学习数据结构的意义和作用
  13. 超详细如何配置将WAN接入
  14. StrConv 内码转换
  15. 移动端的认识与android环境搭建和adb 基础命令
  16. resample进行重采样
  17. 小苏的Shell编程笔记之二--Shell变量及其相关操作
  18. Excel制作的自动汇总的评分表模板
  19. 人工智能 其实还有点“笨”
  20. C语言常用的工具函数(FM0编码发送函数)

热门文章

  1. HNU 实验七 字符串 E-mail地址
  2. 30个常用python实现
  3. python——pandas库之DataFrame数据结构基础
  4. Available Packages更换国内源后,仍显示为nothing to show
  5. Youki的笔记本重装系统的方法~
  6. 【干货】如何判断 Sql 注入点
  7. windows修改环境变量
  8. VB中Unload、END、Hide的区别
  9. mysql 提示ssl问题
  10. [Windows] 程序生成出现语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”...