// 创建一个布尔值 let a = true; // 以下表达式将尝试为我们的价值寻找一种模式,从 // 最上面的图案。 // 这是一个详尽的匹配表达式,因为它检查每个可能的值 match a { true => println!("a is true"), false => println!("a is false") }
如果我们没有涵盖所有情况,则会出现编译器错误:
match a { true => println!("most important case") } // 错误:不完整的模式:不包含“ false” [E0004]
我们可以使用_默认/通配符大小写,它匹配所有内容:
// 创建一个32位无符号整数 let b: u32 = 13; match b { 0 => println!("b is 0"), 1 => println!("b is 1"), _ => println!("b is something other than 0 or 1") }
此示例将打印:
a is true b is something else than 0 or 1