|
|
|
@ -4,7 +4,7 @@
|
|
|
|
|
> <br>
|
|
|
|
|
> commit 86f0ae4831f24b3c429fa4845b900b4cad903a8b
|
|
|
|
|
|
|
|
|
|
通过本书我们已领略过许多不同类型模式的例子。本节会统一列出所有在模式中有效的语法并且会阐述你为什么可能会希望使用其中的每一个语法。
|
|
|
|
|
通过本书我们已领略过许多不同类型模式的例子。在本节中,我们收集了模式中所有有效的语法,并讨论了为什么可能要使用每个语法。
|
|
|
|
|
|
|
|
|
|
### 匹配字面值
|
|
|
|
|
|
|
|
|
@ -21,7 +21,7 @@ match x {
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
这段代码会打印 `one` 因为 `x` 的值是 1。这个语法用于代码得到某个具体值时进行操作。
|
|
|
|
|
这段代码会打印 `one` 因为 `x` 的值是 1。如果希望代码获得特定的具体值,则该语法很有用。
|
|
|
|
|
|
|
|
|
|
### 匹配命名变量
|
|
|
|
|
|
|
|
|
@ -235,7 +235,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
对于像 `Message::Move` 这样的类结构体枚举成员,可以采用类似于匹配结构体的模式。在成员名称后,使用大括号并列出字段变量以便将其分解以供此分支的代码使用。这里使用了示例 18-13 所展示的简写。
|
|
|
|
|
|
|
|
|
|
对于像 `Message::Write` 这样的包含一个元素,以及像 `Message::ChangeColor` 这样包含两个元素的类元组枚举成员,其模式则类似于用于解构元组的模式。模式中变量的数量必须与成员中元素的数量一致。
|
|
|
|
|
对于像 `Message::Write` 这样的包含一个元素,以及像 `Message::ChangeColor` 这样包含三个元素的类元组枚举成员,其模式则类似于用于解构元组的模式。模式中变量的数量必须与成员中元素的数量一致。
|
|
|
|
|
|
|
|
|
|
#### 解构嵌套的结构体和枚举
|
|
|
|
|
|
|
|
|
|