continue-Anweisung in der Go-Sprache
Schleifenanweisungen in der Go-Sprache
Die continue-Anweisung von Go ähnelt in gewisser Weise der break-Anweisung. Allerdings bricht continue nicht aus der Schleife aus, sondern überspringt die aktuelle Iteration und führt die nächste Schleifeniteration aus.
In einer for-Schleife löst die Ausführung einer continue-Anweisung die Ausführung der for-Inkrement-Anweisung aus.
In verschachtelten Schleifen können Sie ein Label verwenden, um die Schleife zu markieren, die Sie fortsetzen möchten.
Syntax
Das Syntaxformat von continue lautet wie folgt:
continue;
Das Flussdiagramm der continue-Anweisung sieht wie folgt aus:

Beispiel
Wenn die Variable a gleich 15 ist, überspringen Sie die aktuelle Schleifeniteration und führen Sie die nächste Schleifeniteration aus:
Beispiel
import "fmt"
func main() {
/* Lokale Variablen definieren */
var a int = 10
/* for-Schleife */
for a < 20 {
if a == 15 {
/* diese Iteration überspringen */
a = a + 1;
continue;
}
fmt.Printf("Der Wert von a ist: %d\n", a);
a++;
}
}
Das Ausführungsergebnis des obigen Beispiels ist:
a 的值为 : 10 a 的值为 : 11 a 的值为 : 12 a 的值为 : 13 a 的值为 : 14 a 的值为 : 16 a 的值为 : 17 a 的值为 : 18 a 的值为 : 19
Das folgende Beispiel enthält mehrere Schleifen und zeigt den Unterschied zwischen der Verwendung eines Labels und der Nichtverwendung eines Labels.
Beispiel
import "fmt"
func main() {
// ohne Label
fmt.Println("---- continue ---- ")
for i := 1; i <= 3; i++ {
fmt.Printf("i: %d\n", i)
for i2 := 11; i2 <= 13; i2++ {
fmt.Printf("i2: %d\n", i2)
continue
}
}
// mit einem Label
fmt.Println("---- continue label ----")
re:
for i := 1; i <= 3; i++ {
fmt.Printf("i: %d\n", i)
for i2 := 11; i2 <= 13; i2++ {
fmt.Printf("i2: %d\n", i2)
continue re
}
}
}
Das Ausführungsergebnis des obigen Beispiels ist:
---- continue ---- i: 1 i2: 11 i2: 12 i2: 13 i: 2 i2: 11 i2: 12 i2: 13 i: 3 i2: 11 i2: 12 i2: 13 ---- continue label ---- i: 1 i2: 11 i: 2 i2: 11 i: 3 i2: 11Weitere Erweiterungen