スライスへの追加
新しい要素をスライスに追加することは一般的であり、Goは組み込みの append
関数を提供しています。組み込みパッケージの ドキュメント では append
について説明しています。
func append(s []T, vs ...T) []T
append
の最初のパラメータ s
は T
型のスライスであり、残りはスライスに追加する T
値です。
append
の結果の値は、元のスライスのすべての要素と提供された値を含むスライスです。
s
のバックアレイが与えられたすべての値を収容するには小さすぎる場合は、より大きな配列が割り当てられます。返されるスライスは新しく割り当てられた配列を指します。
(スライスについて詳しく学ぶには、スライス: 使用法と内部の記事を読んでください。)
package main
import "fmt"
func main() {
var s []int
printSlice(s)
// append works on nil slices.
s = append(s, 0)
printSlice(s)
// The slice grows as needed.
s = append(s, 1)
printSlice(s)
// We can add more than one element at a time.
s = append(s, 2, 3, 4)
printSlice(s)
}
func printSlice(s []int) {
fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s)
}