お問い合わせ(仕事など)くろのて全然わからない。checkArrayは固定長で扱いづらいから可変長のSliceを使う。読むうちに整理されたのでそれぞれの違いと操作について書き残しておきます。ポインタをフィールドに持つ構造体です。可変であるように振る舞います。フィールドは何なんでしょうか。こんな感じにキャパシティを超えて追加してみると、エラーになるわけでもなく普通にできてしまいます。配列の長さ(物理的な長さ)ということのようです。スライスが配列の途中から切り出されている場合、スライスを切り出したインデックスが起点となります。(スライス操作については後述)スライスの要素数が配列を下回っている場合は配列をそのまま利用できますが、スライスの要素数が配列を超える場合は配列自体を作り直す必要があるというわけです。アロケーションと表現します。大は小を兼ねるという言葉がまさに当てはまりますね。アロケーションの発生を抑えてパフォーマンスを向上させるためには、スライスの初期化時にキャパシティをある程度確保することも検討しましょう。スライスは参照型なので関数に渡してもコピーが発生しません。配列は値型なので参照渡ししなければコピーが作られてしまい非効率です。通常はスライスを利用することが推奨されており、配列を直接操作することはあまり多くなさそうです。operationsMakingスライスを作るにはいくつか方法があります。内に長さを指定せずに要素を指定します。この場合、キャパシティは指定した要素数と同じになります。関数を使ってスライスを作ることができます。関数は「型」「初期サイズ」「キャパシティ」を与えてスライスを作れます。指定した場合、すべての要素がその型のゼロ値で初期化されます。array配列を切り出すことで、スライスを作ることができます。この場合のスライスは動詞で使われていることに注意してください。ここでは区別するために、切り出し処理についてはスライシングと言います。要素を指定した配列を作成したあと、スライシングすることで任意の要素とキャパシティを持つスライスを作ることができます。第2引数以降にスライスの要素に合った型の値を指定します。左辺もスライスで受ける必要があります。(0x40e050)}第2引数以降は可変長なので、複数の値を追加できます。つけることでスライスを引数に展開できるため、スライス同士を結合することもできます。この場合、スライスは動詞で使われていることに注意してください。備考ここでは区別するために、切り出し処理についてはスライシングと言います。指定でき、それぞれの値は省略できます。現在のキャパシティをそのまま使う。スライシングすることで、スライスの縮小を行うことができます。キャパシティを指定しない場合、スライスの長さだけを変えキャパシティはそのまま引き継ぎます。スライスしても同じスライス(配列)を参照するため、切り出したそれぞれのスライスを編集すると元のスライスにも変更が伝わります。必要に応じて自分で定義する必要があります。JSのように該当インデックスを返す関数は以下のように定義できます。-1}もしジェネリクスがあったらビルトインで作られてたのかな。間違いがあったら指摘ください(定期)なんか今(12/4)みたらアドベントカレンダーの枠、全部埋まってました。空いてたら別の日にも入れようと思ってたので少し残念。他の方の記事にも期待です。ありがとうございました。