Go Wiki:同时赋值

在许多情况下,同时赋值可用于在单个语句中进行相关赋值。有时需要这样做,要么是因为只有一个语句可用(例如在 if 语句中),要么是因为值将在语句后发生变化(例如在交换的情况下)。赋值运算符右侧的所有值在执行赋值之前都会得到评估。

if 语句中的同时赋值可以提高可读性,尤其是在测试函数中

if got, want := someFunction(...), currTest.Expected; got != want {
    t.Errorf("%d. someFunction(...) = %v, want %v", currIdx, got, want)
}

使用同时赋值也可以轻松交换两个值

i, j = j, i

https://golang.ac.cn/ref/spec#Assignments


此内容是 Go Wiki 的一部分。