はじめに
append関数を使用する際に「...」が出てきたので、その使い方をまとめます。
※バージョン:1.18.4
append関数
Go言語では、スライスの最後に値を追加するときに append 関数を使用します。
func append(slice []Type, elems ... Type) []Type
(公式ドキュメントより)
要素ではなく、スライスを追加したい場合、次のようにスライス変数の後ろに「...」を書きます。
slice = append(slice, anotherSlice...)
スライス変数の後ろに「...」をつけることで可変引数の関数にスライスを展開して渡すことができます。
実際にサンプルを用いて確認します。
サンプル
main.go
func main() {
slice1 := []int{1, 2, 3}
slice2 := []int{10, 20, 30}
slice1 = append(slice1, slice2...)
// slice1 = append(slice1, 10, 20, 30)
fmt.Println(slice1) // => [1 2 3 10 20 30]
}
サンプルでは slice2 を展開して渡しています。