2.3 解构结构体
03-解构结构体 — Comprehensive Rust
1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/pattern-matching/destructuring-structs.html
2.3 解构结构体
与元组一样,结构体也可以通过匹配来解构:
| |
- 修改
m中的字面量,使它匹配其他模式。- 给
Movement增加新字段,并按需要改模式。- 注意
delta: (x, 0)是嵌套模式。深入探索
- 试一下
match &m,并查看捕获的类型。模式语法不变,但捕获会变成共享引用。这就是 match ergonomics, 在为枚举实现方法时写match self常常很有用。
- 对
match &mut m同样成立:捕获会变成独占引用。- 捕获与常量表达式的区别有时很难一眼看出。试着把第一个分支里的
10改成变量,会发现它微妙地不工作;改成const后又会正常。