Go-for-loop

提供:Dev Guides
移動先:案内検索

Go-for Loop

*for* ループは、繰り返し制御構造です。 特定の回数実行する必要があるループを作成できます。

構文

Goプログラミング言語の for ループの構文は次のとおりです-

for [condition |  ( init; condition; increment ) | Range] {
   statement(s);
}
*for* ループでの制御の流れは次のとおりです-
  • *条件*が利用可能な場合、条件が真である限りforループが実行されます。
  • (init; condition; increment)*である *for 句が存在する場合-
  • init ステップは最初に一度だけ実行されます。 このステップにより、ループ制御変数を宣言および初期化できます。 セミコロンが表示されている限り、ここにステートメントを入力する必要はありません。
  • 次に、条件*が評価されます。 真の場合、ループの本体が実行されます。 falseの場合、ループの本体は実行されず、制御のフローは *for ループの直後の次のステートメントにジャンプします。
  • forループの本体が実行されると、制御のフローは increment ステートメントに戻ります。 このステートメントにより、ループ制御変数を更新できます。 条件の後にセミコロンが表示される限り、このステートメントは空白のままにできます。
  • 条件が再び評価されます。 真の場合、ループが実行され、プロセスが繰り返されます(ループの本体、ステップの増分、条件の再実行)。 条件が偽になると、forループが終了します。
  • range が利用可能な場合、範囲内の各アイテムに対してforループが実行されます。

流れ図

Goのループ

package main

import "fmt"

func main() {
   var b int = 15
   var a int
   numbers := [6]int{1, 2, 3, 5}

  /*for loop execution*/
   for a := 0; a < 10; a++ {
      fmt.Printf("value of a: %d\n", a)
   }
   for a < b {
      a++
      fmt.Printf("value of a: %d\n", a)
   }
   for i,x:= range numbers {
      fmt.Printf("value of x = %d at %d\n", x,i)
   }
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

value of a: 0
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of x = 1 at 0
value of x = 2 at 1
value of x = 3 at 2
value of x = 5 at 3
value of x = 0 at 4
value of x = 0 at 5