English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Go言語のループ制御文は、プログラムの実行を変更するために使用されます。ループの実行がその範囲を離れると、その範囲内に作成されたオブジェクトも破棄されます。Go言語は3種類のループ制御文:
Break
Goto
Continue
break文は、そのループまたは文を終了するために使用されます。その後、break文の後に現れる文(あれば)に制御が移行します。break文がネストされたループ内に存在する場合、それはbreak文を含むループのみを終了します。
フローチャート:
package main import "fmt" func main() { for i:=0; i<5; i++{ fmt.Println(i) //Forループはi = 3の時中断 if i == 3{ break; {} {} {}
出力:
0 1 2 3
この文は、プログラム内のタグ文に制御を移行するために使用されます。タグは有効な識別子であり、制御を移行する文の前に配置されます。制御フローを追跡するのが難しいため、プログラマーは通常goto文を使用しません。
フローチャート:
package main import "fmt" func main() { var x int = 0 //forループの動作原理はwhileループと同じです Label1: for x < 8 { if x == 5 { //goto文の使用 x = x + 1; goto Label1 {} fmt.Printf("値: %d\n", x); x++; {} {}
出力:
値は: 0 値は: 1 値は: 2 値は: 3 値は: 4 値は: 6 値は: 7
この文は、特定の条件でループの実行部分をスキップするために使用されます。その後、ループの先頭に制御が移行します。基本的には、以下の文をスキップし、次の反復に進みます。
フローチャート:
package main import "fmt" func main() { var x int = 0 //forループの動作原理はwhileループと同じです for x < 8 { if x == 5 { //二つの反復をスキップ x = x + 2 continue {} fmt.Printf("値: %d\n", x) x++ {} {}
出力:
値は: 0 値は: 1 値は: 2 値は: 3 値は: 4 値は: 7