Refining Ch06.

This commit is contained in:
rust-lang.xfoss.com 2023-12-15 16:56:42 +08:00
parent 9e7b57f06b
commit bd23125ee6

View File

@ -2,6 +2,5 @@
**Enums and Pattern Matching**
在本章,将会对 *枚举enumerations* 进行审视,枚举也被当作 *enums*。枚举实现了通过列举出类型可能的 *变种variants*,来定义出一个类型。这里会首先定义并使用一个枚举,来展示枚举能如何将意义和数据编码起来。接下来,就会探索一个特别有用、名为 `Option` 的枚举,该枚举表示了某个值既可以是某事物,也可以什么也不是。随后就会看看在 `match` 表达式中的模式匹配,是怎样令到根据枚举中不同的值,而运行各异的代码容易起来的。最后,将会讲到 `if let` 结构是怎样成为另一种处理代码中枚举值的、便利而简洁的习惯用法的。
许多语言都有枚举这一特性不过在各个语言中的枚举能力是不同的。Rust 的枚举与那些函数式语言,诸如 F#、OCaml 及 Haskell 等中的 *代数数据类型algebraic data types* 最为相似
在本章中,我们将介绍 *枚举enumerations*,也称为 *枚举enums*。枚举允许咱们,通过枚举出其可能的 *变种variants*,来定义某种类型。首先,我们将定义并使用一个枚举,以展示枚举如何与数据一起,编码意义。接下来,我们将探究一个名为 `Option` 的特别有用的枚举,他表示某个值可以是某物,也可以是无。然后,我们将了解 `match` 表达式中的模式匹配,如何使我们可以轻松地针对枚举的不同值,运行不同代码。最后,我们将介绍 `if let` 结构,怎样成为咱们代码中,处理枚举的另一方便简洁的习惯用法