Das Verständnis der Syntax von goto
Die Syntax von goto
lautet wie folgt:
// Syntax 1: Vorwärts springen
goto label
...
label: code block
// Syntax 2: Rückwärts springen
label: code block
goto label
In Go bietet goto
Flexibilität, da es sowohl vorwärts als auch rückwärts im Code springen kann. Das Label ist im Wesentlichen ein Marker, der angibt, wohin die Programmsteuerung springen soll. Labels sind case-sensitive (groß- und kleinschreibungsabhängig), und es wird empfohlen, Großbuchstaben für Labels zu verwenden, um die Lesbarkeit zu verbessern.
Hinweis: Sowohl die Deklaration als auch die Verwendung von Labels müssen innerhalb derselben Funktion erfolgen.
Beispiel: Ein einfaches goto
-Programm
Lassen Sie uns ein einfaches Programm untersuchen, das die Verwendung von goto
demonstriert. In diesem Beispiel überspringt das Programm bestimmte Zeilen und springt direkt zum Label:
- Erstellen Sie eine neue Go-Datei mit dem Namen
goto.go
, indem Sie die folgenden Befehle ausführen:
cd ~/project
touch goto.go
- Öffnen Sie die Datei und schreiben Sie den folgenden Code:
package main
import "fmt"
func main() {
fmt.Println(1) // Gibt die Zahl 1 aus
goto NEXT // Springt zum Label "NEXT"
fmt.Println(2) // Diese Zeile wird übersprungen
NEXT:
fmt.Println(3) // Gibt die Zahl 3 aus
}
- Das Programm beginnt mit der Ausgabe der Zahl
1
.
- Anschließend trifft es auf die Anweisung
goto NEXT
, was einen sofortigen Sprung zum Label NEXT
bewirkt.
- Infolgedessen wird die Zeile
fmt.Println(2)
übersprungen, und das Programm setzt die Ausführung ab dem Label NEXT
fort und gibt die Zahl 3
aus.
- Führen Sie das Programm aus:
go run goto.go
- Beobachten Sie die Ausgabe:
1
3
Dieses einfache Beispiel zeigt, wie goto
auf einfache Weise zur Steuerung des Programmflusses verwendet werden kann.