【Go入門】スライスの使い方や配列との違いについて

今回は、Goのスライスについての内容になります。

皆さんは、スライスとはどのようなものか分かりますか?

配列とよく間違えやすいですが、どのよう違いがあるのか分からない方はいると思います。

この記事では、スライスについて分かりやすく解説し、プログラミングを行う際に活用して頂けたらと思います。

最後まで読んで頂けると幸いです!

では、スライスについて解説していきます!

スライスとは?

スライスとは、配列と同じような記述方法で、複数の要素を1つにまとめることができるものを言います。

配列との大きな違いとしては、配列は要素数を指定する必要がありますが、スライスは要素数を指定する必要がありません。

なので、もし配列の要素の追加を行った場合、指定した要素数とずれてしまうためエラーが表示されます。

しかしスライスの場合は、要素数を指定していないため、自由に配列の要素を追加することできます!

また、配列の基本的な使用方法については下記の記事で解説していますので、良ければ読んでみて下さい!

下記のコードで配列とスライスの違いについて解説していきます!

var subjects[3] string = [3]string { "国語", "数学", "英語" } //配列
subjects := []string{ "国語", "数学", "英語" } // スライス

では、解説していきます!

上記のコードの見ると、配列は要素を指定していますが、スライスの場合は要素数を指定していません。

なので、配列の場合は、要素数が「3」から変わることできませんが、スライスの場合は自由に配列の追加・削除を行うことができます。

これが大きな違いになります!

では、スライスについては理解できましたが、スライスの様々な宣言方法についてご存知でしょうか?

次の内容では、スライスの様々な宣言方法について解説していきます!

スライスの様々な宣言方法

では、スライスの様々な宣言方法についていくつか解説していきます!

まずは下記のコードについて解説していきます!

var slice []string

このように、要素を指定しない場合は上位のコードで宣言を行うことができます!

次に、下記のコードについて解説していきます!

slice := [] string{"Go", "Python"}

先ほども紹介しましたが、要素数を指定せずに要素を指定することができました!

最後に下記のコードについて解説していきます!

subject := [...] string{"国語", "数学", "英語"}
slice := subject[0:3]

上記のコードのように、配列の要素を用いてスライスを宣言しました!

[0:3]」は「[初めの要素:終わりの要素-1]」という記述方法で指定することができます!

まとめ

いかがでしたか?

今回の内容はスライスについて解説させて頂きました。

配列とスライスは間違えやすいので、2つの違いについては正しく理解しておきましょう!