Slice は内部に持ったArrayを len フィールドの長さに切り出すことで 可変であるように振る舞います。 では capacity フィールドは何なんでしょうか。 たとえば、こんな感じにキャパシティを超えて追加してみると、エラーになるわけでもなく普通にできてしまいます。 package main import ( "fmt" ) func main() { // 初期値: [0], キャパ: 2の数値型スライスを作る l := make([]int, 1, 2) fmt.Println(l) // [0] // 2つ目の値(1)を追加 l = append(l, 1) fmt.Println(l) // [0 1] // 3つ目の値(2)を追加 l = append(l, 2) fmt.Println(l) // [0 1 2] } キャパシティとは一体.. 続いて Slice le