Go Academy · Lektion

break, continue und Labels

Steuerung des Schleifenablaufs und break mit Labels

Lektion 4 von 412 Schritte

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 switch
  • continue – springt zur nächsten Iteration
  • goto – 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:

  • break beendet die aktuelle Schleife oder das aktuelle switch
  • continue springt zur nächsten Iteration
  • Mit Labels können break/continue eine äußere Schleife ansteuern
  • goto ist 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.

Kostenlos starten

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

  1. if-Anweisungen und Init-Ausdrücke
  2. Die for-Schleife: alle Varianten
  3. switch-Anweisungen in Go
  4. break, continue und Labels
← Zurück zu Go Academy