[Go] スライスのfor rangeループ内で新しいスライスにappendしたらバグらせた - ぷらすのブログ

Goのfor rangeループのvalueは常に同じアドレス値を取る。ループ内で変数を定義することで新しいアドレスの変数が使われるようになるので、期待した出力になる。なお、これの挙動はスライスだけでなく、マップでも発生する。