match
Rust 通过 match
关键字提供模式匹配,类似于 C 语言的 switch
。第一个匹配的分支会被求值,并且必须覆盖所有可能的值。
fn main() { let number = 13; // TODO ^ 尝试为 `number` 赋不同的值 println!("告诉我关于 {} 的信息", number); match number { // 匹配单个值 1 => println!("一!"), // 匹配多个值 2 | 3 | 5 | 7 | 11 => println!("这是个质数"), // TODO ^ 尝试将 13 添加到质数列表中 // 匹配一个闭区间范围 13..=19 => println!("一个青少年"), // 处理其余情况 _ => println!("没什么特别的"), // TODO ^ 尝试注释掉这个匹配所有情况的分支 } let boolean = true; // match 也是一个表达式 let binary = match boolean { // match 的分支必须覆盖所有可能的值 false => 0, true => 1, // TODO ^ 尝试注释掉其中一个分支 }; println!("{} -> {}", boolean, binary); }