この記事は Go7 Advent Calendar 2019 4日目の記事です。 Go7のカレンダー | Advent Calendar 2019 - QiitaGo7のカレンダーページです。https://qiita.com/advent-calendar/2019/go7 Arrayは固定長で扱いづらいから可変長のSliceを使う。 そのくらいにしか考えていませんでしたが、Effective go とかいろいろ読むうちに整理されたのでそれぞれの違いと操作について書き残しておきます。 SliceとArrayの関係最初に結論を言うと Slice は Array のポインタをフィールドに持つ構造体です。 具体的には 以下のように定義されています (slice.go) Slice は内部に持ったArrayを len フィールドの長さに切り出すことで 可変であるように振る舞います。 では cap