Heim > Backend-Entwicklung > Golang > Beendet „break' eine „for'-Schleife oder nur eine „switch'-Anweisung in Go?

Beendet „break' eine „for'-Schleife oder nur eine „switch'-Anweisung in Go?

Susan Sarandon
Freigeben: 2024-12-31 06:02:14
Original
576 Leute haben es durchsucht

Does `break` Exit a `for` Loop or Just a `switch` Statement in Go?

Beendigung der Switch/Select-Anweisung mit Break

Während Switch- und Select-Anweisungen normalerweise am Ende jedes Falls automatisch enden, lohnt es sich, darüber nachzudenken Auswirkung einer expliziten break-Anweisung innerhalb dieser Blöcke. Nehmen wir als Beispiel einen bestimmten Codeausschnitt:

for {
    switch sometest() {
    case 0:
        dosomething()
    case 1:
        break
    default:
        dosomethingelse()
    }
}
Nach dem Login kopieren

Es stellt sich die Frage: Unterbricht die Break-Anweisung die äußere for-Schleife oder nur den Switch-Block?

Um dies zu beantworten, haben wir siehe Go Programming Language Specification zu Break-Anweisungen:

„Eine ‚break‘-Anweisung beendet die Ausführung des innersten ‚for‘, ‚switch‘ oder ‚select‘“ Wenn es eine Bezeichnung gibt, muss es sich um eine umschließende „for“-, „switch“- oder „select“-Anweisung handeln, und das ist diejenige, deren Ausführung endet.“

In unserem Fall, da Nr Wird ein Label bereitgestellt, beendet die break-Anweisung die innermost-Anweisung, die den Switch-Block darstellt. Daher verlässt die break-Anweisung nicht die äußere for-Schleife, sondern beendet lediglich die Ausführung der switch-Anweisung, sodass das Programm mit der nächsten Iteration der Schleife fortfahren kann.

Das obige ist der detaillierte Inhalt vonBeendet „break' eine „for'-Schleife oder nur eine „switch'-Anweisung in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage