【go言語】ループ処理 for文

go言語はfor文を使用してループ処理を行うことができます。
for文には初期値と継続条件と変化式の3つのを設定することができます。
  初期値 ・・・ ループ開始時の状態 例)i=0,j=0
変化式 ・・・ for文内で一番下まで処理を実施した後に行う計算
初期値で設定した変数をインクリメントが一般的
例) i++,j++
  継続条件 ・・・ 条件は真の時、ループを継続する
変化式実行後に判定される。
例) i<=5 (iが5以下の時にループ継続)
            

for 【初期値】; 【継続条件】 ; 【変化式】 {
    処理1
    処理2
    ・・・
    処理n
}

for文を実行する

for文の実行例として0から5までの数字を表示するだけのプログラムを紹介します。
同じ実行結果であっても手法がいくつも存在します。

①for文の基本形
②変化式を記載しないパターン
③継続条件を指定しない場合
④初期値をfor文で指定しない
⑤何も指定しない(セミコロン有り)
⑥何も指定しない(セミコロン無し)
⑦セミコロン無しで継続条件のみ指定

実行結果

0
1
2
3
4
5

①for文の基本形

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

②変化式を記載しないパターン

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

③継続条件を指定しない場合

break文を実行するとfor文を終了することができます。
if文でiが5以上の時にbreakを実行してループ処理を抜けています。

for i := 0; ;i++ {
    fmt.Println( i )
    if  i >= 5 {
        break
    }
}

④初期値をfor文で指定しない

for文の入る前に初期値を設定してもfor文は動作します。

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

⑤何も指定しない(セミコロン有り)

②・③・④の複合型になります。
c言語と同じように何もない場合でもfor文は動作します。

i := 0
for ; ; {
    fmt.Println( i )
    if  i >= 5 {
        break
    }
    i++
}

⑥何も指定しない(セミコロン無し)

c言語と異なりfor文はセミコロンを設定しなくても問題は無いです。

i := 0
for {
    fmt.Println( i)
    if  i >= 5 {
        break
    }
    i++
}

⑦セミコロン無しで継続条件のみ指定

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