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 Fall aus und beenden sich dann automatisch. Das Schlüsselwort fallthrough ändert dieses Verhalten jedoch, indem es die Ausführung zwingt, mit dem nächsten Fall fortzufahren, unabhängig davon, ob dieser übereinstimmt.

Wenn Sie fallthrough am Ende eines Case verwenden, führt Go den Code des nächsten Case aus, ohne dessen Bedingung zu prüfen. Dies unterscheidet sich von Sprachen wie C, in denen Sie break benötigen, um ein Durchlaufen 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, wenn grade „B“ ist, aufgrund der fallthrough-Anweisung sowohl „Good job!“ als auch „Keep trying!“ ausgegeben. Dies ermöglicht es Ihnen, mehrere verwandte Aktionen für einen einzelnen übereinstimmenden Fall auszuführen.

challenge icon

Aufgabe

Einfach

In dieser Herausforderung üben Sie die Verwendung des Schlüsselworts fallthrough in einer switch-Anweisung, um ein Prioritäts-Alarmsystem zu erstellen. Wenn ein Alarm mit hoher Priorität ausgelöst wird, soll das System mehrere Warnmeldungen nacheinander anzeigen.

Sie erhalten eine String-Eingabe, die eine Alarmstufe darstellt. Erstellen Sie eine switch-Anweisung, die verschiedene Alarmstufen verarbeitet und fallthrough verwendet, um kaskadierende Meldungen für Alarme mit höherer Priorität anzuzeigen.

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

Ihre switch-Anweisung sollte wie folgt funktionieren:

  • Für "critical": Geben Sie "CRITICAL: System shutdown imminent!" aus und nutzen Sie fallthrough, um auch die Meldung für hohe Priorität auszugeben.
  • Für "high": Geben Sie "HIGH: Immediate attention required!" aus und nutzen Sie fallthrough, um auch die Meldung für mittlere Priorität auszugeben.
  • Für "medium": Geben Sie "MEDIUM: Please review when possible" aus.
  • Für "low": Geben Sie "LOW: Informational only" aus.

Verwenden Sie das Schlüsselwort fallthrough, sodass kritische Alarme sowohl die kritischen als auch die Meldungen mit hoher Priorität anzeigen und hohe Alarme sowohl die Meldungen mit hoher als auch mit mittlerer Priorität anzeigen.

Probier es selbst

package main

import "fmt"

func main() {
    // Eingabe lesen
    var alertLevel string
    fmt.Scanln(&alertLevel)
    
    // TODO: Schreibe deinen Code unten
    // 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