Update ch06-01-defining-an-enum.md

This commit is contained in:
usernameisnull 2017-05-03 01:43:59 +08:00 committed by GitHub
parent 9bb9ceb5c6
commit eba26b704e

View File

@ -33,7 +33,7 @@ let four = IpAddrKind::V4;
let six = IpAddrKind::V6;
```
注意枚举的成员位于其标识符的命名空间中,并使用两个冒号分开。这么设计的益处是现在`IpAddrKind::V4`和`IpAddrKind::V6`是相同类型的:`IpAddrKind`。例如,接着我们可以一个函数来获取`IpAddrKind`
注意枚举的成员位于其标识符的命名空间中,并使用两个冒号分开。这么设计的益处是现在`IpAddrKind::V4`和`IpAddrKind::V6`是相同类型的:`IpAddrKind`。例如,接着我们可以定义一个函数来获取`IpAddrKind`
```rust
# enum IpAddrKind {
@ -279,4 +279,4 @@ not satisfied
[docs]: https://doc.rust-lang.org/std/option/enum.Option.html
总的来说,为了使用`Option<T>`值,需要编写处理每个成员的代码。我们想要一些代码只当拥有`Some(T)`值时运行,这些代码允许使用其中的`T`。也希望一些代码当在`None`值时运行,这些代码并没有一个可用的`T`值。`match`表达式就是这么一个处理枚举的控制流结构:它会根据枚举的成员运行不同的代码,这些代码可以使用匹配到的值中的数据。
总的来说,为了使用`Option<T>`值,需要编写处理每个成员的代码。我们想要一些代码只当拥有`Some(T)`值时运行,这些代码允许使用其中的`T`。也希望一些代码当在`None`值时运行,这些代码并没有一个可用的`T`值。`match`表达式就是这么一个处理枚举的控制流结构:它会根据枚举的成员运行不同的代码,这些代码可以使用匹配到的值中的数据。