Skip to content

Commit

Permalink
Merge pull request #79 from ziyouwa/patch-1
Browse files Browse the repository at this point in the history
Update chapter_1.md
  • Loading branch information
lispking authored Oct 10, 2024
2 parents 8761491 + b530774 commit 5104660
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/chapter_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@

其中核心的一部分是 Rust 的枚举类型(`enum`),它比其他语言中的枚举类型具有更强的表达能力,并且允许使用[代数数据类型]

Rust 类型系统的另一个核心支柱是特征(`trait`)类型。特征大致等同于其他语言中的接口类型,但它们也与 Rust 的 _泛型_[第12条])相关联,允许在不产生运行时开销的情况下重用接口。
本章的内容涵盖了 Rust 语言的基本类型,以及如何将它们组合成数据结构,来更精确地表达程序的语义。将行为编码到类型系统中的概念有助于减少检查和错误路径代码量。无效的状态会在编译时被编译工具链暴露出来,而不用等到程序运行时。

接下来还介绍了 Rust 标准库中提供的一些随处可见的数据类型: Option、Result 和 Iterator。熟练掌握这些标准工具可以帮助你写出简洁高效、符合Rust习惯的代码——尤其是问号操作符的使用,提供了非常简洁优雅且依然然类型安全的错误处理。

请注意,涉及 Rust 特性的内容将在下一章中介绍,但因为特性描述了类型的行为,因此与本章的内容有一定的重叠。

[OCaml]: https://ocaml.org/
[Haskell]: https://www.haskell.org/
[代数数据类型]: https://en.wikipedia.org/wiki/Algebraic_data_type
[第12条]: https://www.lurklurk.org/effective-rust/generics.html

0 comments on commit 5104660

Please sign in to comment.