match 匹配

Rust 通过 match 关键字来提供模式匹配,用法和 C 语言的的 switch 类似。

  1. fn main() {
  2. let number = 13;
  3. // 试一试 ^ 将不同的值赋给 `number`
  4. println!("Tell me about {}", number);
  5. match number {
  6. // 匹配单个值
  7. 1 => println!("One!"),
  8. // 匹配多个值
  9. 2 | 3 | 5 | 7 | 11 => println!("This is a prime"),
  10. // 匹配一个闭区间范围
  11. 13...19 => println!("A teen"),
  12. // 处理其他情况
  13. _ => println!("Ain't special"),
  14. }
  15. let boolean = true;
  16. // match 也是一个表达式
  17. let binary = match boolean {
  18. // match 分支必须覆盖所有可能的值
  19. false => 0,
  20. true => 1,
  21. // 试一试 ^ 试着将其中一条分支注释掉
  22. };
  23. println!("{} -> {}", boolean, binary);
  24. }