|
|
|
@ -28,7 +28,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
- `match` 的匹配必须要穷举出所有可能,因此这里用 `_` 来代表未列出的所有可能性
|
|
|
|
|
- `match` 的每一个分支都必须是一个表达式,且所有分支的表达式最终返回值的类型必须相同
|
|
|
|
|
- **X | Y**,是逻辑运算符 `或`,代表该分支可以匹配 `X` 也可以匹配 `Y`,只要满足一个即可
|
|
|
|
|
- **X | Y**,类似逻辑运算符 `或`,代表该分支可以匹配 `X` 也可以匹配 `Y`,只要满足一个即可
|
|
|
|
|
|
|
|
|
|
其实 `match` 跟其他语言中的 `switch` 非常像,`_` 类似于 `switch` 中的 `default`。
|
|
|
|
|
|
|
|
|
@ -366,4 +366,4 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
## 课后练习
|
|
|
|
|
|
|
|
|
|
> [Rust By Practice](https://zh.practice.rs/pattern-match/match-iflet.html),支持代码在线编辑和运行,并提供详细的[习题解答](https://github.com/sunface/rust-by-practice)。
|
|
|
|
|
> [Rust By Practice](https://zh.practice.rs/pattern-match/match-iflet.html),支持代码在线编辑和运行,并提供详细的[习题解答](https://github.com/sunface/rust-by-practice)。
|
|
|
|
|