元组解包
在 var, let 或 const 语句中,可以进行元组解包。 特殊标识符 _ 可用于忽略元组中的某些部分:
proc returnsTuple(): (int, int, int) = (4, 2, 3)
let (x, _, z) = returnsTuple()
这大致上被视为以下内容的语法糖:
let
tmpTuple = returnsTuple()
x = tmpTuple[0]
z = tmpTuple[2]
对于 var 或 let 语句,如果值表达式是一个元组字面量, 则每个表达式将直接扩展为赋值,而不使用临时变量。
let (x, y, z) = (1, 2, 3)
# becomes
let
x = 1
y = 2
z = 3
元组解包也可以嵌套:
proc returnsNestedTuple(): (int, (int, int), int, int) = (4, (5, 7), 2, 3)
let (x, (_, y), _, z) = returnsNestedTuple()
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .