Menu
Coddy logo textTech

Switch mit `fallthrough`

Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy. Lektion 1 von 68.

In Go führen switch-Anweisungen normalerweise nur den passenden case aus und werden dann automatisch beendet. Das Schlüsselwort fallthrough ändert dieses Verhalten jedoch, indem es die Ausführung zwingt, mit dem nächsten case fortzufahren, unabhängig davon, ob dieser übereinstimmt.

Wenn du fallthrough am Ende eines Falls verwendest, führt Go den Code des nächsten Falls aus, ohne dessen Bedingung zu überprüfen. Das unterscheidet sich von Sprachen wie C, in denen du break benötigst, um ein Durchfallen zu verhindern.

grade := "B"
switch grade {
case "A":
    fmt.Println("Excellent!")
    fallthrough
case "B":
    fmt.Println("Good job!")
    fallthrough
case "C":
    fmt.Println("Keep trying!")
}

In diesem Beispiel wird sowohl „Good job!“ als auch „Keep trying!“ ausgegeben, wenn grade „B“ ist, und zwar aufgrund der Anweisung fallthrough. Dadurch kannst du mehrere zusammengehörige Aktionen für einen einzigen übereinstimmenden Fall ausführen.

challenge icon

Aufgabe

Einfach

In dieser Herausforderung übst du die Verwendung des Schlüsselworts fallthrough in einer switch-Anweisung, um ein Prioritätswarnsystem zu erstellen. Wenn eine Warnung mit hoher Priorität ausgelöst wird, soll das System mehrere Warnmeldungen nacheinander anzeigen.

Du erhältst eine Zeichenketteneingabe, die eine Warnstufe darstellt. Erstelle eine switch-Anweisung, die verschiedene Warnstufen verarbeitet und fallthrough verwendet, um für Warnungen mit höherer Priorität aufeinander aufbauende Meldungen anzuzeigen.

Die Eingabe ist eine dieser Warnstufen: "critical", "high", "medium" oder "low".

Deine switch-Anweisung soll wie folgt funktionieren:

  • Für "critical": Gib "CRITICAL: System shutdown imminent!" aus und fahre mit der Ausgabe der Meldung für hohe Priorität fort
  • Für "high": Gib "HIGH: Immediate attention required!" aus und fahre mit der Ausgabe der Meldung für mittlere Priorität fort
  • Für "medium": Gib "MEDIUM: Please review when possible" aus
  • Für "low": Gib "LOW: Informational only" aus

Verwende das Schlüsselwort fallthrough, damit kritische Warnungen sowohl die Meldung für kritische als auch für hohe Priorität anzeigen und Warnungen mit hoher Priorität sowohl die Meldung für hohe als auch für mittlere Priorität anzeigen.

Probier es selbst

package main

import "fmt"

func main() {
    // Eingabe lesen
    var alertLevel string
    fmt.Scanln(&alertLevel)
    
    // TODO: Schreibe deinen Code darunter
    // Erstelle eine switch-Anweisung mit fallthrough für das Alarmsystem
    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Go-Compiler