初期化、条件、繰り返し式のいずれかを省いて書きたいときにどうすればいいの?と思ったので、いろいろ試してみました。
package main import ( "fmt" ) func main() { for i := 0; i <= 5; i++ { fmt.Println(i, "a") } for i := 0; i <= 5; { fmt.Println(i, "b") i++ } for i := 0; ; i++ { if i > 5 { break } fmt.Println(i, "c") } for i := 0; ; { if i > 5 { break } fmt.Println(i, "d") i++ } i := 0 for ; i <= 5; i++ { fmt.Println(i, "e") } i = 0 for ; ; i++ { if i > 5 { break } fmt.Println(i, "f") } i = 0 for i <= 5 { fmt.Println(i, "g") i++ } i = 0 for { if i > 5 { break } fmt.Println(i, "h") i++ } }
フォーマッターで整形されて上記の感じで、出力は
0 a 1 a 2 a 3 a 4 a 5 a 0 b 1 b 2 b 3 b 4 b 5 b 0 c 1 c 2 c 3 c 4 c 5 c 0 d 1 d 2 d 3 d 4 d 5 d 0 e 1 e 2 e 3 e 4 e 5 e 0 f 1 f 2 f 3 f 4 f 5 f 0 g 1 g 2 g 3 g 4 g 5 g 0 h 1 h 2 h 3 h 4 h 5 h
こんな感じです。