Go は、一連のデータを保存および管理するための配列を提供する、厳密に型指定されたプログラミング言語です。配列は固定長で同じ型のデータ構造であり、Go で簡単に定義して使用できます。
この記事では、Go で配列を使用する方法を検討し、いくつかの一般的な配列操作について学びます。
配列の定義
Go で配列を定義するには、配列の型と長さを指定する必要があります。配列の長さは整数である必要があり、変数や実行時の計算によって決定することはできません。
長さ 5 の整数配列を定義する方法は次のとおりです。
var arr [5]int
上記のコードは、5 つの整数要素を含む arr という名前の配列変数を作成します。各要素はすべて 0 に初期化されます。配列内の要素にはインデックスを使用してアクセスできます。インデックス値は 0 から始まり、最大配列長 - 1 に達します。
配列を初期化するには、以下を使用できます:
arr := [5]int{1, 2, 3, 4, 5}
これにより、要素がそれぞれ 1、2、3、4、5 に初期化された、長さ 5 の整数配列が作成されます。
以下に示すように、[...]
構文を使用して、指定された要素に基づいて Go に配列の長さを自動的に計算させることもできます。上記のコードは、前のコード スニペットと同じです。同じ効果があります。
配列の走査
配列を走査するには、for ループを使用できます。以下は、整数の配列を反復処理して各要素を出力する例です。
arr := [...]int{1, 2, 3, 4, 5}
この例では、for ループを使用して 0 から配列の長さまでループし、配列全体を反復処理して、各要素を出力します。
スライス
スライスは Go のもう 1 つの重要な概念であり、基礎となる配列を参照する動的な長さのデータ構造です。スライスは可変長データを処理する便利な方法であり、固定長配列を使用するよりも柔軟です。
Go では、次のメソッドを使用してスライスを作成できます。
arr := [5]int{1, 2, 3, 4, 5} for i := 0; i < len(arr); i++ { fmt.Println(arr[i]) }
配列とは異なり、スライスの長さは実行時に変更できるため、便利な方法が提供されます。可変長データを扱います。
スライスに要素を追加する
append 関数を使用して要素をスライスに追加できます。 append 関数は要素をスライスに追加し、追加された要素を含む新しいスライスを返します。以下は、スライスに新しい要素を追加する例です。
arr := []int{1, 2, 3, 4, 5}
上記のコード例では、スライスに 3 つの新しい要素を追加し、スライスの最終的な長さは 6 になりました。 append 関数を使用すると、複数の要素をカンマで区切って一度に追加できます。
スライス内の要素を削除する
Go でスライス演算子 [:] を使用して、スライス内の要素を削除できます。以下は、スライスから要素を削除し、新しいスライスを返す例です。
arr := []int{1, 2, 3} arr = append(arr, 4, 5, 6)
上の例では、スライス演算子を使用して最初の 2 つの要素と最後の 2 つの要素を結合します。これにより、インデックス 2 の要素が削除され、スライスの長さ 4 の新しい要素が返されます。
スライスのコピー
Go が提供する組み込みの
copy 関数を使用して、スライスをコピーできます。以下は、copy
関数を使用してスライスをコピーする例です。 <pre class='brush:php;toolbar:false;'>arr := []int{1, 2, 3, 4, 5}
arr = append(arr[:2], arr[3:]...)</pre>
上の例では、まず
関数を使用して arr
と同じ長さの空のスライスを作成し、次に copy
関数 arr
の要素を copyArr
にコピーします。 概要
この記事では、Go で配列とスライスを使用する方法について説明しました。配列は固定長のデータ構造であるのに対し、スライスは動的長の参照型データ構造です。配列を反復処理する方法、スライスに要素を追加および削除する方法、スライスをコピーする方法について説明しました。これらの操作は、Go プログラマーにデータを処理するための基本的なツールを提供し、複雑なアプリケーションを構築するために必要な基礎知識となります。
以上がGo で配列を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。