公式チュートリアルから基本を学ぶ
https://go-tour-jp.appspot.com/list
For(繰り返し)
-
基本的に、 for ループはセミコロン ; で3つの部分に分かれています:
- 初期化ステートメント: 最初のイテレーション(繰り返し)の前に初期化が実行されます
- 条件式: イテレーション毎に評価されます
- 後処理ステートメント: イテレーション毎の最後に実行されます
- 初期化ステートメントは、短い変数宣言によく利用します。その変数は for ステートメントのスコープ内でのみ有効です。
ループは、条件式の評価が false となった場合にイテレーションを停止します。
サンプルコード:
1~9まで足していき合計値を出力
package main
import "fmt"
func main() {
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
結果: 45
For continued
- 初期化と後処理ステートメントの記述は任意で可能。
サンプルコード
package main
import "fmt"
func main() {
sum := 1
for ; sum < 5; {
sum += sum
}
fmt.Println(sum)
}
結果: 8
For is Go's "while"
- for文はセミコロン(;)を省略することもできます。つまり、C言語などにある while は、Goでは for だけを使います。
サンプルコード
package main
import "fmt"
func main() {
sum := 1
for sum < 5 {
sum += sum
}
fmt.Println(sum)
}
結果: 8
Forever(無限ループ)
ループ条件を省略すれば、無限ループ( infinite loop )になりますので、無限ループをコンパクトに表現できます。
サンプルコード
package main
func main() {
for {
}
}
結果: 無限ループする