今回はgolangの二次元スライスについて解説していきます。
目次
二次元スライス
golangには二次元スライスがあります。よく二次元配列と言われますが、正確には二次元のスライスです。
まずスライスについては以下の記事で詳しく解説しているので、スライスについてまだ理解していないという方はこちらを先に読むと理解が進みやすいです。
あわせて読みたい


【3分で理解する】golangのスライスとは 使い方、注意点について解説
今回はgolangにおけるスライスについて解説していきます。 【スライスとは】 golangにはSlice(スライス)というデータ構造があり、他の言語でいう配列と似ていますが、微...
二次元スライスは名前の通り、スライスの中のスライスです。
二次元スライスの宣言は以下のように行います。
func main() {
a := [][]int{{0,1}, {2, 3}, {4, 5}, {6, 7}}
fmt.Println(a)
}
[]を二つ重ね、型と値と共に宣言します。
こちらの実行結果は[[0 1] [2 3] [4 5] [6 7]]となり、スライスの中に4つのスライスが入っていることがわかりますね。
スライスはmake()関数を使うことで、キャパシティと長さを指定しながら初期化することもできます。
func main() {
a := make([][]int, 4, 5)
a[0] = []int{0, 1}
a[1] = []int{2, 3}
a[2] = []int{4, 5}
a[3] = []int{6, 7}
fmt.Println(a)
}
こちらの実行結果も[[0 1] [2 3] [4 5] [6 7]]であるため、先ほど紹介した方法と同じとなります。
厳密にはmake()を使うことで注意しなければいけないこともあるのですが、その部分について以下の記事で詳しく解説しているので良ければご覧ください。
あわせて読みたい


【3分で理解する】golangのスライスのmakeとcapについて 使い方、注意点について解説
前回、golangのスライスについて解説しました。 https://cityofnogales.net/go-slice/ 今回はそのスライスの中で用いられるmakeとcapについて解説していきます。 【スラ...
golangをもっと詳しくなりたい方に
golang学習のために筆者が実際に受講したUdemy教材をまとめています。
あわせて読みたい


【入門】golangの学習におすすめのUdemy教材5選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...
golang学習のために筆者が実際に読んでおすすめしたい本をまとめています。
あわせて読みたい


【入門】golangの学習におすすめの本/書籍7選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...