模式匹配

使用关键词 match 对一个值进行模式匹配。进行匹配时,会从上至下依次进行比较,并选定第一个匹配成功的结果。

模式 (pattern) 可以是简单的值,其用法类似于 C 与 C++ 中的 switch

fn main() {
    let input = 'x';

    match input {
        'q'                   => println!("Quitting"),
        'a' | 's' | 'w' | 'd' => println!("Moving around"),
        '0'..='9'             => println!("Number input"),
        _                     => println!("Something else"),
    }
}

模式 _ 是外卡 (wildcard) 模式。它可以匹配任何值。

关键点:

  • You might point out how some specific characters are being used when in a pattern
    • | as an or
    • .. can expand as much as it needs to be
    • 1..=5 represents an inclusive range
    • “_”是通配符
  • 展示绑定的运作方式可能会很有帮助,例如通过用变量替换通配符或移除“q”周围的引号来展示。
  • 您可以在参照项上演示如何匹配。
  • 这时可能很适合提到“不可反驳的模式”这个概念,因为这个术语可能会出现在错误消息中。