类型
本书的第一章介绍了围绕 Rust 类型系统的建议。该类型系统更比其他主流语言更具表现力; 它与OCaml或Haskell等“学术”语言有更多的共同点。
其中核心部分是Rust的enum类型,它比其他语言中的枚举类型更具表现力,并且允许代数数据类型。
本章的条款涵盖了该语言提供的基本类型以及如何将它们组合成能够精确表达程序语义的数据结构。将行为编码到类型系统中的概念有助于减少所需的检查和错误路径代码量,因为无效状态在编译时被工具链拒绝,而不是在运行时被程序拒绝。
本章还介绍了Rust标准库提供的一些普遍的数据结构:Option、Result、Error、Iterator。熟悉这些标准工具有助于你编写高效、紧凑、惯用的Rust——特别是,它们允许使用 Rust 的问号运算符,该运算符支持隐式但仍是类型安全的错误处理。
请注意,涉及 Rust trait 的条款将在下一章中介绍,但必然与本章中的条款有一定程度上的重叠,因为trait描述了类型的行为。