Go公式WikiのSimultaneous Assignmentの日本語意訳になります。
(元記事の最終更新日: 2014/12/10 rev.1)
同時代入に関する説明がされています。
同時代入
同時代入は一つの文で関連にした代入をする多くの場合に便利です。
単一の文しか使用できなかったり(例: if文内)、文の後に値が変わってしまうため(例: スワップ)に、しばしば必要になることがあります。
代入演算子の右辺の値は全て、代入が行われる前に評価されます。
if文の同時代入は、特にテスト関数において可読性を上げることができます。
if got, want := someFunction(...), currTest.Expected; got != want {
t.Errorf("%d. someFunction(...) = %v, 期待結果は %v", currIdx, got, want)
}
2つの値の入れ替えも、同時代入を使うと簡単にできます。
i, j = j, i
http://golang.org/ref/spec#Assignments
comments powered by Disqus