3. match 与穷尽性

  • 第三章,共二十章
  • 阅读约 1 分钟

match 按模式分派。编译器检查穷尽性:漏了分支会报错,并告诉你漏了哪个。

fn sign(x: Int) -> String =
  match x {
    0 -> "zero"
    n if n > 0 -> "positive"
    _ -> "negative"
  }

pub fn main() -> Unit !io = {
  println(sign(0))
  println(sign(7))
  println(sign(-2))
}
zero
positive
negative

另见:spec.md §5