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