JavaScriptを有効にしてください

GoのRange:初心者向けのforeachガイド

 · 

Go言語には、foreachループに相当するrangeキーワードがあります。
この記事では、Goのrangeを使用した繰り返し処理の基本的な使い方と、スライスやマップでの応用例を紹介します。

Rangeの基本構造

Go言語のrangeキーワードは、スライス、マップ、または文字列などのコレクションを繰り返し処理するために使われます。
基本的な構文は以下の通りです。

1
2
3
for キー,  := range コレクション {
    // 繰り返し実行されるコード
}

スライスでの使用例

1
2
3
4
nums := []int{2, 4, 6, 8}
for index, value := range nums {
    fmt.Printf("Index: %d, Value: %d\n", index, value)
}

この例では、スライスnumsの各要素に対してインデックスと値を出力します。

マップでの使用例

1
2
3
4
colors := map[string]string{"red": "#ff0000", "green": "#00ff00", "blue": "#0000ff"}
for key, value := range colors {
    fmt.Printf("Key: %s, Value: %s\n", key, value)
}

この例では、マップcolorsの各要素に対してキーと値を出力します。

Rangeの柔軟性

rangeはスライス、マップだけでなく、文字列やチャネルにも使用できます。
文字列では各文字に対する繰り返し処理が可能です。

文字列での使用例

1
2
3
for index, char := range "hello" {
    fmt.Printf("Index: %d, Character: %c\n", index, char)
}

この例では、文字列"hello"の各文字を出力します。

まとめ

Goのrangeキーワードは、コレクションの要素を効率的に繰り返し処理するための強力なツールです。
スライス、マップ、文字列など、さまざまな型のコレクションを簡単に処理でき、Goプログラミングにおける繰り返し処理の基本となります。


スポンサーリンク

共有

もふもふ
著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア