↪️

Go言語で配列を使う

2023/06/27に公開

配列について学ぶ

✅公式の解説を翻訳して解説しています

Goでは、配列は特定の長さの要素の番号付けされたシーケンスです。一般的なGoのコードでは、スライスの方がよく使われます。

ここでは、ちょうど5個のintを保持する配列aを作成する。要素の型も長さも配列の型の一部である。デフォルトでは配列は0値であり、intの場合は0を意味する。

array[index] = value構文を使ってインデックスに値を設定し、array[index]で値を取得することができる。

組み込み関数 len は、配列の長さを返します。

配列の宣言と初期化を1行で行うには、この構文を使う。

配列型は1次元だが、型を組み合わせて多次元のデータ構造を構築することができる。

配列は、fmt.Printlnで印刷されるとき、[v1 v2 v3 ...]という形式で表示されることに注意してください。

package main

import "fmt"

func main() {
    // Goの配列を定義するときは、配列の長さと型を指定する
		// 以下の例では、5つのint型の要素を持つ配列を定義している
    var a [5]int
    fmt.Println("emp:", a)
    // 配列の要素には、インデックスを指定してアクセスする
		// 以下の例では、インデックス4の要素に100を代入している
    a[4] = 100
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])
    // 配列の長さは、組み込み関数lenで取得できる
    fmt.Println("len:", len(a))
    // 配列の宣言と同時に初期化することもできる
    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("dcl:", b)
    // var twoD [2][3]intは、2つの配列を持つ配列を定義している
    var twoD [2][3]int
		// forをネストさせているのは、配列の要素を1つずつ処理しているから
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}

実行結果

emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]

最後に

今回は、配列について学習してみました。要素数を数えるのに使った組み込み関数のlenがPythonに似ていて、理解しやすかったです。

Jboy王国メディア

Discussion