Go言語のループ処理

Go言語のループ処理について見ていきます。

C言語やC#など他の言語ではwhileやfor、foreachなどがありますが、
Go言語ではforですべて書くことができます。

まずは一般的なforです。
他の言語と同様そう変わりません。

for i := 0; i < 10; i++ {
    println(i)
}

i に初期値0を代入、ループごとにiをインクリメントし、10になったら終了といった感じです。

次に while 風なforです。

i := 0
for i < 10 {
    println(i)
    i++
}

やっていることは1つ目と変わりませんが、
forのあとに条件のみを書き、満たす場合のみ繰り返すといった書き方もできます。

while (true) { … } のような無限ループ風にしたい場合は以下のように条件も省略が可能です。

i := 0
for {
    println(i)
    i++
    if i >= 10 {
        break
    }
}

この場合はループの中で何か条件判定してbreakしないとひたすら繰り返すことになります。

次にforeach風のループです。

list := []int{ 1, 2, 3, 4, 5 }
for index, element := range list {
    println(index, element)
}

rangeでは配列からインデックスと要素を取り出します。
順番に
index=0、element=1
index=1、element=2

index=4、element=5
といった感じになります。

これで、Go言語でループ処理ができるようになりました。

スポンサーリンク