模式匹配
我们在之前的示例中已经演示过模式匹配的用法。 作为 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}")
}