Go言語のfor文:初心者向けガイド

JavaScriptを有効にしてください

前書き

Go言語におけるfor文は、繰り返し処理を実行するための基本的な構造です。
この記事では、for文の使い方とその柔軟性を紹介します。

for文の基本構造

Go言語のfor文は、他の多くのプログラミング言語と同様、繰り返し処理を制御するために使われます。
基本的な構文は以下の通りです。

go
1
2
3
for 初期化; 条件; 後処理 {
    // 繰り返し実行されるコード
}

シンプルな例

go
1
2
3
4
5
6
7
8
9
package main

import "fmt"

func main() {
	for i := 0; i < 5; i++ {
		fmt.Println(i)
	}
}

この例では、0から4までの数を出力します。

実行結果
1
2
3
4
5
0
1
2
3
4

無限ループ

for文を使って無限ループを作成することもできます。これは、条件を省略することによって実現します。

go
1
2
3
for {
    // 無限に実行されるコード
}

無限ループは、特定の条件が満たされるまで続ける必要がある処理に使われます。

条件のみのループ

Goでは、whileループと同等の動作をfor文で表現できます。

go
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import "fmt"

func main() {
    nums := []int{10, 20, 30, 40, 50}
    
    for index, value := range nums {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }
}

この例では、スライスnumsの各要素にアクセスし、そのインデックスと値を出力します。
rangeキーワードについては下記記事をお読みください。
Go言語のRange:初心者向けガイド

実行結果
1
2
3
4
5
Index: 0, Value: 10
Index: 1, Value: 20
Index: 2, Value: 30
Index: 3, Value: 40
Index: 4, Value: 50

breakとcontinueの使い方

Go言語のfor文では、breakとcontinueを使ってループの制御をより詳細に行うことができます。

breakの使用

breakステートメントは、ループの実行を完全に停止します。
特定の条件が満たされた場合にループから抜け出すのに使います。

例:特定の条件でループを停止
go
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		if i == 5 {
			break
		}
		fmt.Println(i)
	}
	// 0から4まで出力し、iが5になった時点でループを終了
}
実行結果
1
2
3
4
5
0
1
2
3
4

continueの使用

continueステートメントは、現在のループのイテレーションをスキップし、次のイテレーションに直接進みます。

例:特定の条件でイテレーションをスキップ
go
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		if i % 2 == 0 {
			continue
		}
		fmt.Println(i)
	}
    // 偶数の時は出力せず、奇数のみ出力
}
実行結果
1
2
3
4
5
1
3
5
7
9

breakとcontinueは、ループの動作をより精密に制御するための強力なツールです。
特定の条件下でループを終了させたり、特定のケースを除外したりする場合に非常に便利です。

まとめ

Go言語のfor文は、基本的なループ処理から複雑なコレクションの繰り返し処理まで、多くのシナリオで使用されます。
そのシンプルさと柔軟性は、Goプログラミングにおいて非常に強力なツールです。


スポンサーリンク

共有

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