Goのスライス同士を結合しようとした場合、
泥臭くループを回してappendをしようとしたあなた。ちょっと待って。✋
append のシグニチャをみてみる
builtin.go
を読んでみましょう
func append(slice []Type, elems ...Type) []Type
ほほう。
二つ目の引数は可変長で受け取れるようになっている
appendは一度に複数追加できる
回り道しますが、
可変長の引数なので
append(hogeslice, elem1, elem2, elem3)
のような複数の追加が可能です。
可変長引数にスライスは ... をつけると渡せる
タイトルの通り。
つまり
append(hogeslice, fooslice...)
という感じでslice同士を結合することが可能です。
もちろん↑のコードは戻り値を変数で受け取ってませんが、
ちゃんと compositeslice := append(~~~)
のように書いてくださいね。