switch-Anweisungen in Go
switch mit und ohne Tag sowie fallthrough
switch-Anweisungen in Go ist eine kostenlose Go Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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 von switch
Go's switch ist leistungsfähiger als in C: Standardmäßig gibt es kein Fall-through, und Fälle können mehrere Werte enthalten:
day := "Monday"
switch day {
case "Saturday", "Sunday":
fmt.Println("Weekend")
default:
fmt.Println("Weekday")
}Kein implizites Fall-through
In Go wird jeder case-Block automatisch beendet – anders als in C, wo Sie break ausdrücklich schreiben müssen:
- Übersichtlicherer Code und weniger Fehler
- Verwenden Sie
fallthroughausdrücklich, wenn Sie ein Verhalten wie in C benötigen (selten)
switch mit Init-Anweisung
Wie if akzeptiert auch switch eine optionale Init-Anweisung:
switch os := runtime.GOOS; os {
case "linux":
fmt.Println("Linux")
case "darwin":
fmt.Println("macOS")
default:
fmt.Printf("Other: %s\n", os)
}Tagloses switch (Alternative zu einer if-else-Kette)
Ein tagloses switch hat nach dem Schlüsselwort keinen Ausdruck – jeder case wertet einen booleschen Ausdruck aus:
score := 75
switch {
case score >= 90:
fmt.Println("A")
case score >= 80:
fmt.Println("B")
case score >= 70:
fmt.Println("C")
default:
fmt.Println("F")
}Type Switch
Ein Type Switch untersucht den dynamischen Typ eines Interface-Werts:
func describe(i interface{}) {
switch v := i.(type) {
case int:
fmt.Printf("int: %d\n", v)
case string:
fmt.Printf("string: %s\n", v)
default:
fmt.Printf("unknown: %T\n", v)
}
}fallthrough
Verwenden Sie fallthrough, um unabhängig von dessen Bedingung ausdrücklich den nächsten case-Block auszuführen (nur selten erforderlich):
n := 1
switch n {
case 1:
fmt.Println("one")
fallthrough
case 2:
fmt.Println("one or two")
}Mehrere Werte pro Case
Listen Sie mehrere durch Kommas getrennte Werte in einem einzigen case auf:
func isVowel(c byte) bool {
switch c {
case 'a', 'e', 'i', 'o', 'u':
return true
}
return false
}switch oder if-else
Verwenden Sie switch, wenn:
- Sie einen Ausdruck mit vielen Werten vergleichen
- Sie einen Type Switch für die Auswahl anhand eines Interface-Typs benötigen
- die Lesbarkeit gegenüber einer Kette aus if-else verbessert wird
Verwenden Sie if-else, wenn es sich um unterschiedliche boolesche Ausdrücke handelt.
break in switch
Um ein switch vorzeitig zu verlassen, verwenden Sie break. Um eine äußere Schleife aus einem switch heraus zu verlassen, verwenden Sie ein Break mit Label:
loop:
for {
switch input() {
case "quit":
break loop // exits the for loop
}
}Standardfall
Der default-Fall wird ausgeführt, wenn kein anderer Fall übereinstimmt. Bewährte Vorgehensweisen:
- Fügen Sie bei der Verarbeitung von Aufzählungen immer
defaultein, um unerwartete Werte abzufangen - Platzieren Sie ihn für eine bessere Lesbarkeit am Ende
- Verwenden Sie in Type Switches
default, um nicht unterstützte Typen kontrolliert zu behandeln
Kurze Überprüfung
Was geschieht in Go, wenn ein switch-Fall übereinstimmt – wird die Ausführung mit dem nächsten Fall fortgesetzt?
Zusammenfassung: switch in Go
Go's switch ist übersichtlich und leistungsfähig:
- Kein implizites Fall-through – verwenden Sie
fallthroughausdrücklich - Init-Anweisung zum Beschränken temporärer Variablen
- Tagloses switch als Alternative zu einer if-else-Kette
- Type Switch für die Auswahl anhand eines Interface-Typs
- Mehrere Werte pro Fall, durch Kommas getrennt
Als Nächstes: Schleifensteuerung mit break, continue und Labels.
Häufig gestellte Fragen
Ist die Lektion „switch-Anweisungen in Go“ kostenlos?
Ja — der vollständige Text von „switch-Anweisungen in Go“ 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 „switch-Anweisungen in Go“?
switch mit und ohne Tag sowie fallthrough 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 3 von 4.
Wie lange dauert die Lektion „switch-Anweisungen in Go“?
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