break, continue und Labels
Steuerung des Schleifenablaufs und break mit Labels
break, continue und Labels ist eine kostenlose Go Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Go Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.
Grundlagen der Schleifensteuerung
Go stellt drei Schlüsselwörter zur Steuerung der Schleifenausführung bereit:
break– beendet die aktuelle Schleife oder das aktuelle switchcontinue– springt zur nächsten Iterationgoto– springt zu einer markierten Anweisung (wird selten verwendet)
Labels erweitern break und continue, sodass sie mit äußeren Schleifen arbeiten können.
break in einer Schleife
break beendet sofort die innerste for-, switch- oder select-Anweisung:
for i := 0; i < 100; i++ {
if i*i > 50 {
break
}
fmt.Println(i)
}continue
continue überspringt den Rest des aktuellen Schleifenblocks und springt zur Post-Anweisung (oder zur Prüfung der Bedingung):
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // skip even numbers
}
fmt.Println(i) // prints 1,3,5,7,9
}break mit Label
Ein Label vor einer for-Schleife ermöglicht es Ihnen, diese aus einer inneren Schleife heraus zu verlassen:
search:
for i, row := range grid {
for j, cell := range row {
if cell == target {
fmt.Printf("found at %d,%d\n", i, j)
break search
}
}
}continue mit Label
continue mit Label springt zur nächsten Iteration der markierten äußeren Schleife:
outer:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if j == 1 {
continue outer
}
fmt.Printf("%d,%d\n", i, j)
}
}Wann Sie Labels verwenden sollten
Labels sind geeignet, wenn:
- Sie tief innerhalb einer verschachtelten Schleife eine äußere Schleife verlassen müssen
- das Herauslösen in eine eigene Funktion zu ausführlich wäre
Labels sind in Go unüblich – wenn Sie sie häufig benötigen, sollten Sie eine Umstrukturierung mit Funktionen oder Channels in Betracht ziehen.
goto (selten)
Go bietet goto, um zu einer markierten Anweisung zu springen. Es ist innerhalb derselben Funktion erlaubt und darf keine Variablendeklarationen überspringen:
- Anwendungsfälle: generierter Code, enge Schleifen zur Fehlerbehandlung
- Vermeiden Sie es in handgeschriebenem Code – bevorzugen Sie strukturierten Kontrollfluss
break in select
Innerhalb einer select-Anweisung beendet break das select – nicht eine äußere for-Schleife. Verwenden Sie ein Break mit Label, um die äußere Schleife zu verlassen:
loop:
for {
select {
case msg := <-ch:
handle(msg)
case <-done:
break loop
}
}Tiefe Verschachtelungen vermeiden
Tief verschachtelte Schleifen sind schwer zu lesen. Bevor Sie ein Break mit Label hinzufügen, fragen Sie sich:
- Kann ich die innere Schleife in eine Hilfsfunktion auslagern?
- Kann ich einen Channel oder Slice verwenden, um die Iteration zu vereinfachen?
- Können vorzeitige Rückgaben die Verschachtelung auf der äußeren Ebene reduzieren?
Praxisbeispiel: Suchen mit break
Ein häufiges Muster: Durchsuchen Sie eine Sammlung und beenden Sie die Schleife, sobald Sie das Gesuchte gefunden haben:
func contains(slice []string, target string) bool {
for _, v := range slice {
if v == target {
return true // prefer return over break+flag
}
}
return false
}Kurze Überprüfung
Wie verlassen Sie in Go eine äußere Schleife aus einer inneren Schleife heraus?
Zusammenfassung: break, continue und Labels
Steuern Sie den Ablauf von Schleifen in Go effektiv:
breakbeendet die aktuelle Schleife oder das aktuelle switchcontinuespringt zur nächsten Iteration- Mit Labels können
break/continueeine äußere Schleife ansteuern gotoist vorhanden, wird aber im idiomatischen Go selten verwendet- Verwenden Sie innerhalb von select ein Break mit Label, um eine äußere for-Schleife zu verlassen
Nächster Kurs: Funktionen und mehrere Rückgabewerte.
Lerne Go mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 51
- Lektionen
- 203
Häufig gestellte Fragen
Ist die Lektion „break, continue und Labels“ kostenlos?
Ja — der vollständige Text von „break, continue und Labels“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Go Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „break, continue und Labels“?
Steuerung des Schleifenablaufs und break mit Labels Du übst Go Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Go Academy zu starten?
Keine Vorkenntnisse erforderlich. Go Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „break, continue und Labels“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Go Academy-Lektion Code schreiben und ausführen?
Ja. Jede Go Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- if-Anweisungen und Init-Ausdrücke
- Die for-Schleife: alle Varianten
- switch-Anweisungen in Go
- break, continue und Labels