Go言語配列


Go言語は配列型のデータ構造を提供します。

配列は、同じ一意の型の番号付きの固定長データ項目のシーケンスです。この型には、整数、文字列、カスタム型などの任意のプリミティブ型を使用できます。

number0、number1、...、number99 の変数を宣言する場合と比較して、numbers[0]、numbers[1] ...、numbers[99] の配列形式を使用する方が便利で、拡張も簡単です。

配列要素はインデックス (位置) によって読み取る (または変更する) ことができ、インデックスは 0 から始まり、最初の要素のインデックスは 0、2 番目の要素のインデックスは 1 になります。

arrays.jpg


配列を宣言する

Go言語の配列宣言は要素の型と要素の数を指定する必要があります。構文形式は次のとおりです:

var variable_name [SIZE] variable_type

上記は1次元配列の定義です。配列の長さは 0 より大きい整数である必要があります。たとえば、次の例では、長さ 10、float32 の型で配列バランスを定義しています。

var balance [10] float32

配列の初期化

以下は、配列の初期化を示しています:

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

初期化された配列の {} の要素の数は、 []内の数字より大きくなければなりません。

[] 内の数値を無視して配列サイズを設定しない場合、Go 言語は要素の数に従って配列のサイズを設定します:

 var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

この例は上記の例と同じですが、配列のサイズが設定されていません。

 balance[4] = 50.0

上記の例は 5 番目の要素を読み取ります。配列要素は、0 から始まるインデックス (位置) によって読み取る (または変更する) ことができます。最初の要素はインデックス 0 を持ち、2 番目の要素はインデックス 1 を持ちます。

array_presentation.jpg


配列要素へのアクセス

配列要素はインデックス(位置)によって読み取ることができます。形式は配列名の後に角括弧を追加するもので、角括弧はインデックス値です。例:

float32 salary = balance[9]

上の例は、配列残高の 10 番目の要素の値を読み取ります。

以下は、配列の完全な操作 (宣言、代入、アクセス) の例を示しています:

package main

import "fmt"

func main() {
   var n [10]int /* n 是一个长度为 10 的数组 */
   var i,j int

   /* 为数组 n 初始化元素 */         
   for i = 0; i < 10; i++ {
      n[i] = i + 100 /* 设置元素为 i + 100 */
   }

   /* 输出每个数组元素的值 */
   for j = 0; j < 10; j++ {
      fmt.Printf("Element[%d] = %d\n", j, n[j] )
   }
}

上記の例の実行結果は次のとおりです:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

その他の内容

配列は、 Go 言語では、配列に関する詳細な内容を紹介します:

多次元配列Go 言語は、最も単純な多次元配列は 2 次元配列をサポートします。 関数に配列を渡す関数と同じように配列パラメータを渡すことができます
内容説明