Rust 学习笔记(24)-迭代器
参考章节《Rust 程序设计语言》第13.2章 使用迭代器处理元素序列
迭代器是遍历数据的一种方式
迭代器模式允许你对一个序列的项进行某些处理。
迭代器(iterator)负责遍历序列中的每一项和决定序列何时结束的逻辑。当使用迭代器时,我们无需重新实现这些逻辑。
在 Rust 中,迭代器是 惰性的(lazy),这意味着在调用方法使用迭代器之前它都不会有效果。
先看一个例子
- 迭代器的第一种使用方法
|
|
参考章节《Rust 程序设计语言》第13.2章 使用迭代器处理元素序列
迭代器是遍历数据的一种方式
迭代器模式允许你对一个序列的项进行某些处理。
迭代器(iterator)负责遍历序列中的每一项和决定序列何时结束的逻辑。当使用迭代器时,我们无需重新实现这些逻辑。
在 Rust 中,迭代器是 惰性的(lazy),这意味着在调用方法使用迭代器之前它都不会有效果。
先看一个例子
|
|
参考章节《Rust 程序设计语言》第13.1章 闭包:可以捕获环境的匿名函数
闭包是可以保存在一个变量中或作为参数传递给其他函数的匿名函数。
参考章节《Rust 程序设计语言》第11章 编写自动化测试
为你的程序编写测试是一个良好的习惯(尽管大部分人不愿意这么做,包括我自己,囧)
参考章节《Rust 程序设计语言》第10.3章 生命周期确保引用有效
生命周期有什么用?答:避免出现悬垂引用
问题,那么问题来了,什么是悬垂引用
?
|
|
先说说看完书中这一章我自己的理解
编译器!
规则
,告诉编译器以这个规则给我检查代码是否满足要求参考章节《Rust 程序设计语言》第10.2章 Trait:定义共同行为
trait
类似其他语言中的 接口
的概念,我们可以通过 trait
以一种抽象的方式定义共享的行为。
书中这一段解释得很好,建议多读几次
一个类型的行为由其可供调用的方法构成。如果可以对不同类型调用相同的方法的话,这些类型就可以共享相同的行为了。
trait
定义是一种将方法签名组合起来的方法,目的是定义一个实现某些目的所必需的行为的集合。