Rust编程:数据类型、迭代器与面向对象编程
1. 数据类型的本质与类型绑定
数据类型本质上是可以对该数据应用的一组操作。限制一个类型意味着只考虑该类型可用操作的一部分。例如, D as Dictionary 表示获取 D 类型的所有特性,并只考虑来自 Dictionary 特性的那些。实际上, D 类型可以绑定到多个特性,其中一些可能有 Key 类型名。类型表达式 <D as Dictionary>::Key 表示在实现 Dictionary 特性时为 D 类型定义的 Key 类型。
在特性声明中抽象类型规范有两种技术:
- 添加泛型参数:在为类型实现特性后仍能保持泛型性,但需要指定使用该类型参数所需的所有特性。
- 添加关联类型:在实现特性时必须为关联类型指定具体类型,但之后代码会更简单。
2. 迭代器标准特性
Rust 标准库定义了迭代器,迭代器是实现 Iterator 标准库特性的任何类型。该特性包含 next 函数,所以每个迭代器都必须有这个函数。 Iterator 特性定义如下:
trait Iterator {
type Item;
fn next(&mut
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



