我知道golang支持多项任务,例如
a, b = c, d
我想知道左侧>右侧顺序后的作业是否合适?例如,如果我玩树木:
parent, child = child, child.child
它是否可以保证父树和孩子在树中分配更深层次?
答案 0 :(得分:18)
是。来自language spec:
转让分两个阶段进行。首先,左侧的索引表达式和指针间接操作(包括选择器中的隐式指针间接)的操作数和右侧的表达式都按通常的顺序进行评估。其次,分配按从左到右的顺序进行。
因此,在您的示例中,首先评估child
和child.child
,然后分别分配给parent
和child
。