Golang PR

Go言語(Golang)の配列の初期化方法を徹底解説!【初心者向け】

記事内に商品プロモーションを含む場合があります

プログラミングを始めると、
データを整理して扱う必要があります。
そのときに役立つのが配列です。

本記事では、
Go言語における配列の初期化方法について、
初心者でも理解できるように丁寧に解説します!

Go言語の配列とは?

配列は、同じデータ型の値を
複数まとめて扱うためのデータ構造です。

例えば、
複数の数値をまとめて計算したり、
文字列を一括で管理したりするときに役立ちます。

Go言語では、
配列のサイズ(要素数)が固定されており、
後から変更することはできません。

配列の基本構文

配列を宣言するときは、次のように書きます。

var numbers [5]int


このコードは、
5つの整数を格納できる配列を宣言しています。
配列の要素は、初期化されていない場合、
自動的にゼロ値になります(この場合は0)。

配列の初期化方法

配列を使うためには、
まず初期化する必要があります。

初期化の方法はいくつかあり、
用途に応じて選択できます。

空の配列を作成する

空の配列を作成するには、
配列のサイズを指定するだけでOKです。
すべての要素がゼロ値で初期化されます。

package main

import "fmt"

func main() {
	var emptyArray string
	fmt.Println(emptyArray) // 出力: ["", "", ""]
}

Go Playgroundでコードを確認

初期値を指定して配列を作成する

配列の宣言時に初期値を指定することもできます。
これにより、特定の値で配列を初期化できます。

package main

import "fmt"

func main() {
	colors := string{"red", "green", "blue"}
	fmt.Println(colors) // 出力: ["red", "green", "blue"]
}

特定のインデックスのみに初期値を設定する

配列の特定のインデックスにのみ初期値を設定し、
他の要素はゼロ値のままにすることも可能です。

package main

import "fmt"

func main() {
	points := [5]int{1: 10, 3: 30}
	fmt.Println(points) // 出力: [0, 10, 0, 30, 0]
}


このコードでは、インデックス1に10、
インデックス3に30が設定されています。

配列のすべての要素を特定の値で初期化する

すべての要素に同じ初期値を
設定したい場合は、ループを使います。

package main

import "fmt"

func main() {
	var values [5]int
	for i := range values {
		values[i] = 100
	}
	fmt.Println(values) // 出力: [100, 100, 100, 100, 100]
}


このコードは、
すべての配列要素に100を設定しています。

Goの配列とforループ

配列を操作する際に便利なのが、forループです。
forループを使えば、配列のすべての要素に対して一括で処理を行えます。

配列の要素を繰り返し処理する

次の例では、
配列の各要素にアクセスして、
それらを合計するプログラムです。

package main

import "fmt"

func main() {
	numbers := [5]int{1, 2, 3, 4, 5}
	sum := 0
	for _, num := range numbers {
		sum += num
	}
	fmt.Println(sum) // 出力: 15
}


Go Playgroundでコードを確認

このコードは、
配列numbersのすべての要素を合計し、
その結果を表示します。

Goの配列の比較

Go言語では、
同じ型で同じ長さの配列同士を
比較することができます。

すべての要素が同じ場合にのみ、
配列は等しいとみなされます。

配列の比較方法

次のコードは、
2つの配列が等しいかどうかを確認します。

package main

import "fmt"

func main() {
	array1 := int{1, 2, 3}
	array2 := int{1, 2, 3}
	array3 := int{3, 2, 1}

	fmt.Println(array1 == array2) // 出力: true
	fmt.Println(array1 == array3) // 出力: false
}


Go Playgroundでコードを確認

この例では、
array1array2は同じ要素を持つため、
等しいとみなされます。

一方、array1array3
異なる要素を持つため、等しくありません。

まとめ

本記事では、
Go言語における配列の初期化方法について、
初心者向けに詳しく解説しました。

配列は、データを整理して扱うための
基本的なデータ構造です。

Go言語で配列を効果的に使いこなすことで、
プログラムの効率と可読性を向上させることができます。

次に進むステップとして、
配列を使ったより複雑なデータ処理や、
スライスとの違いを学んでみましょう!