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ループが実行されます。
流れ図
例
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