Unterbricht eine break-Anweisung einen Switch/Select oder entkommt sie der Schleife, in der sie sich befindet?
Viele Programmiersprachen verwenden den Switch/Select Anweisung zur Bearbeitung mehrerer Fälle, die normalerweise nach jeder Fallausführung automatisch unterbrochen wird. Beendet jedoch in Go eine break-Anweisung innerhalb einer switch/select-Anweisung lediglich den switch/select-Block oder führt sie zu einem Verlassen der umschließenden Schleife?
Antwort:
In Go verlässt eine break-Anweisung die innerste for-, switch- oder select-Anweisung. Wenn eine Bezeichnung bereitgestellt wird, muss diese mit der Bezeichnung der umschließenden Schleife, des Schalters oder des Auswahlkonstrukts übereinstimmen.
Der folgende Auszug aus der Go Programming Language Specification verdeutlicht dieses Verhalten:
Break statements, The Go Programming Language Specification. A "break" statement terminates execution of the innermost "for", "switch" or "select" statement. BreakStmt = "break" [ Label ] .
Daher gilt im bereitgestellten Beispiel:
for { switch sometest() { case 0: dosomething() case 1: break default: dosomethingelse() } }
Die break-Anweisung beendet nur die switch-Anweisung, nicht das umschließende for Schleife.
Das obige ist der detaillierte Inhalt vonBeendet „break' einen „switch/select' oder seine umschließende Schleife in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!