MoonBit 语言导览 MoonBit

模式匹配

我们在之前的示例中已经演示过模式匹配的用法。 作为 MoonBit 的核心特性之一,模式匹配可应用于多种场景。它能帮助开发者高效实现条件判断,提升代码的精确性和健壮性。

本节将展示模式匹配的基础用法。该特性在其他语言中可能被称为"解构"或"结构化绑定",主要用于从复杂数据结构中提取值。

需要明确的是:"解构"只是模式匹配功能的子集。 在 MoonBit 中,几乎所有可构造的数据类型都支持对应的解构操作,这种解构形式我们称之为模式

struct Point {
  x : Int
  y : Int
} derive(Show)

fn main {
  let tuple = (1, false, 3.14)
  let array = [1, 2, 3]
  let record = { x: 5, y: 6 }
  let (a, b, c) = tuple
  println("a:\{a}, b:\{b}, c:\{c}")
  let [d, e, f] = array
  println("d:\{d}, e:\{e}, f:\{f}")
  let { x, y } = record
  println("x:\{x}, y:\{y}")
}