Update pattern-match.md (#5)

增加 `loop` + `if let` 或 `match` 实现 while let 条件循环 的例子
 > 不知道这种格式网站能不能正常渲染
pull/1079/head
Kirin 3 years ago committed by GitHub
parent 7bb58cc788
commit 19a384c532
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -65,6 +65,35 @@ while let Some(top) = stack.pop() {
你也可以用 `loop` + `if let` 或者 `match` 来实现这个功能,但是会更加啰嗦。
<details>
<summary>loop + if let</summary>
```rust
loop {
if let Some(top) = stack.pop() {
println!("{}", top);
} else {
break;
}
}
```
</details>
<details>
<summary>loop + match</summary>
```rust
loop {
match stack.pop() {
None => break,
Some(x) => println!("{}", x),
// _ => println!("Default Switch"),
// 注:这里不需要处理默认分支,因为 Option 只有 None Some(x) 这两种情况
}
}
```
</details>
#### for 循环
```rust

Loading…
Cancel
Save