数组模式
数组模式是一个用 []
包围的模式序列,用于匹配数组。
你可以使用 ..
来匹配数组的开始、结束或中间的其余部分。
在数组模式中,..
部分可以通过别名模式绑定到一个新变量。该变量的类型是 ArrayView
。sum
函数使用此功能递归地计算数组的和。
fn main {
let array = [1, 2, 3, 4, 5, 6]
let [a, b, ..] = array
let [.., c, d] = array
let [e, .., f] = array
println("a: \{a}, b: \{b}")
println("c: \{c}, d: \{d}")
println("e: \{e}, f: \{f}")
println("sum of array: \{sum(array[:])}")
}
fn sum(array : ArrayView[Int]) -> Int {
match array {
[] => 0
[x, .. as xs] => x + sum(xs)
}
}