Nim 每日早茶
Nim语言如何实现元组拆包与多重赋值
在 Nim 语言中,有两种元组: 匿名元组与命名元组。
匿名元组拆包
注意括号是不可以省略的,省略的话,就会变成多重赋值。
let (a0, a1, a2) = (1, 2, 4)
echo a0, " ", a1, " ", a2
输出:
1 2 4
命名元组拆包
Nim 中,我们可以指定各个元素的名称,除了使用名称访问属性,我们还可以通过与匿名元组类似的方式获取属性值。
var b: tuple[name: string, age: int, hobby: string] = ("tom", 26, "唱歌")
echo b
let (b0, b1, b2) = b
echo b0, " ", b1, " ", b2
输出:
(name: "tom", age: 26, hobby: "唱歌")
tom 26 唱歌
元组占位符
如果我们不需要某个值或者某个属性,我们可以使用 _ 占位符。
let (_, c1, _) = (1, 2, 4)
echo " ", c1, ""
输出:
2
相等元素赋值
Nim 中可以通过下面的方式进行多重赋值。
let a3, a4, a5, a6 = 6
echo a3, a4, a5, a6
let a7, a8 = @[1, 2, 3, 5]
echo a7, " ", a8
输出:
6666
@[1, 2, 3, 5] @[1, 2, 3, 5]
库推荐
nimx 是一个跨平台 Gui 框架。