19日に更新してた

アフィリエイトはないよ

【golang】for 文の初期化、条件、繰り返し式

初期化、条件、繰り返し式のいずれかを省いて書きたいときにどうすればいいの?と思ったので、いろいろ試してみました。

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

こんな感じです。