English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Loop-Kontrollanweisungen in Go werden verwendet, um die Ausführung des Programms zu ändern. Wenn der Ausführungsbereich eines Loops seinen Geltungsbereich verlässt, werden die in diesem Bereich erstellten Objekte ebenfalls zerstört. Go unterstützt3Art der Loop-Kontrollanweisungen:
Break
Goto
Continue
break-Anweisung wird verwendet, um den Loop oder das Statement, in dem sie sich befindet, abzubrechen. Der Kontrollfluss wird auf das Statement nach der break-Anweisung übertragen (wenn vorhanden). Wenn die break-Anweisung in einem verschachtelten Loop existiert, beendet sie nur die Loops, die die break-Anweisung enthalten.
Flussdiagramm:
package main import "fmt" func main() { for i:=0; i<5; i++{ fmt.Println(i) //For-Loop bei i = 3beendet if i == 3{ break; {} {} {}
Ausgabe:
0 1 2 3
Diese Anweisung wird verwendet, um den Kontrollfluss in ein Markierungsstatement im Programm zu transferieren. Ein Label ist ein gültiger Identifikator, der vor dem Kontrolltransferstatement platziert wird. Da der Kontrollfluss des Programms schwer zu verfolgen ist, verwenden Programmierer in der Regel goto-Anweisungen nicht.
Flussdiagramm:
package main import "fmt" func main() { var x int = 0 //Der Arbeitsmechanismus des for-Loops ist gleich dem des while-Loops Label1: for x < 8 { if x == 5 { //Verwenden Sie goto-Anweisungen x = x + 1; goto Label1 {} fmt.Printf("Wert: %d\n", x); x++; {} {}
Ausgabe:
Wert: 0 Wert: 1 Wert: 2 Wert: 3 Wert: 4 Wert: 6 Wert: 7
Diese Anweisung wird verwendet, um den Ausführungsteil des Loops unter bestimmten Bedingungen zu überspringen. Danach wird der Kontrollfluss zum Anfang des Loops zurückgeleitet. Grundsätzlich überspringt es die folgenden Anweisungen und springt zum nächsten Durchlauf des Loops.
Flussdiagramm:
package main import "fmt" func main() { var x int = 0 //Der Arbeitsmechanismus des for-Loops ist gleich dem des while-Loops for x < 8 { if x == 5 { //Springen Sie zwei Iterationen über x = x + 2 continue {} fmt.Printf("Wert: %d\n", x) x++ {} {}
Ausgabe:
Wert: 0 Wert: 1 Wert: 2 Wert: 3 Wert: 4 Wert: 7