いう便利なものが存在します。うまく使い方も理解していないし、配列との違いも説明できないし、実体がどうなっているのかも知らなかったので腰を据えて調べてみました。Arrayまずは、配列についてみていきたいと思います。[10]int配列の長さは、型の一部分です。配列のサイズを変えることはできません。これは制約のように思えますが、心配しないでください。Goは配列を扱うための便利な方法を提供しています。"fuga"}サイズは省略できるが、実態としては中身の要素を数えているので、サイズを明記した場合と特に変わりはない。13]}Slice配列をスライスするGoは配列を扱うための便利な方法を提供しています。配列で、最後の方にこう書かれていたと思いますが、配列はスライスすることができます。その方法をみていきます。境界を指定することによってスライスを形成できます。high]ただし、最後の要素は省かれます。含むスライスを作ります。参照」であるスライスは配列への参照のようなものです。スライスはどんなデータも格納しておらず、単に元の配列の部分列を指し示しています。スライスの要素を変更すると、その元となる配列の対応する要素が変更されます。同じ元となる配列を共有している他のスライスは、それらの変更が反映されます。Ringo]}上記のように、配列からスライスを形成しました。特徴をまとめてみるとこんな感じではないでしょうか。true}スライスは配列の参照である(長さのないスライス)要素を変更すると、その元となる要素も変更される結局実体はどうなの?「スライスは配列への参照」という意味が最初はちょっと分かり辛かったのですが、下記の記事がすごく分かりやすく解説してありました。参考にしていただけると理解しやすいかと思います。qiita.com実際はどうようなデータ構造になっているのか、実体は何なのかそれぞれをコードで書きながら一歩踏み入れて考えていきます。出力しているところをみると違いが明らかだと思います。まとめると配列とスライスの違いは下記のようになります。変数ごとにアドレスが異なるそれぞれが別のメモリを占有する一方を変更しても、もう一方に影響はないスライス変数ごとにアドレスが同じ内部で配列が生成されているスライス自体はメモリを占有しない(生成された配列のアドレスを参照しているに過ぎない)一方を変更したら、もう一方にも影響が生じるおわりに今回は、基本中の基本である、配列とスライスについて学習してみました。書いている人の中「スライスだけで良くね?」という派でしたが、配列を知ることでスライスへの理解が深まった気がします。次回はスライスの実用的な使い方(要素数を数える、追加、削除...)を学習できればと思います。最後まで見てくださりありがとうございました。基礎をまず理解しようスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。