Go-slice
提供:Dev Guides
移動-スライス
Go Sliceは、Go Arrayを抽象化したものです。 Go配列を使用すると、同じ種類の複数のデータ項目を保持できる変数を定義できますが、サイズを動的に増加したり、独自のサブ配列を取得したりする組み込みメソッドは提供されません。 スライスはこの制限を克服します。 Arrayに必要な多くのユーティリティ関数を提供し、Goプログラミングで広く使用されています。
スライスを定義する
スライスを定義するには、サイズを指定せずにスライスを配列として宣言できます。 または、 make 関数を使用してスライスを作成できます。
len()およびcap()関数
スライスは配列の抽象化です。 実際には、基礎となる構造として配列を使用します。 * len()関数は、スライスに存在する要素を返します。 cap()*関数は、スライスの容量(つまり、収容できる要素の数)を返します。 次の例では、スライスの使用方法を説明します-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
スライスなし
スライスが入力なしで宣言されている場合、デフォルトでは、nilとして初期化されます。 その長さと容量はゼロです。 たとえば-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
サブスライス
スライスでは、* [lower-bound:upper-bound] *を使用してサブスライスを取得するために、下限と上限を指定できます。 たとえば-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
append()およびcopy()関数
- append()*関数を使用して、スライスの容量を増やすことができます。 copy()関数を使用すると、ソーススライスの内容が宛先スライスにコピーされます。 たとえば-
上記のコードをコンパイルして実行すると、次の結果が生成されます-