Rust 基本模式匹配

示例

// 创建一个布尔值
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