Menu
CoddyTech

Switch avec `fallthrough`

Fait partie de la section Logique & Flux du Journey GO de Coddy. Leçon 1 sur 68.

En Go, les instructions switch exécutent normalement uniquement le cas correspondant, puis se terminent automatiquement. Cependant, le mot-clé fallthrough modifie ce comportement en forçant l’exécution à continuer vers le cas suivant, qu’il corresponde ou non.

Lorsque tu utilises fallthrough à la fin d’un case, Go exécutera le code du case suivant sans vérifier sa condition. C’est différent des langages comme C, où tu dois utiliser break pour empêcher le passage au case suivant.

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

Dans cet exemple, si grade vaut "B", le programme affichera à la fois "Good job!" et "Keep trying!" en raison de l’instruction fallthrough. Cela vous permet d’exécuter plusieurs actions connexes pour un seul cas correspondant.

challenge icon

Défi

Facile

Dans ce défi, tu vas t’entraîner à utiliser le mot-clé fallthrough dans une instruction switch pour créer un système d’alertes prioritaires. Lorsqu’une alerte de haute priorité est déclenchée, le système doit afficher plusieurs messages d’avertissement à la suite.

Tu recevras une chaîne de caractères représentant un niveau d’alerte. Crée une instruction switch qui gère différents niveaux d’alerte et utilise fallthrough pour afficher des messages en cascade pour les alertes de priorité supérieure.

L’entrée sera l’un de ces niveaux d’alerte : "critical", "high", "medium" ou "low".

Ton instruction switch doit fonctionner comme suit :

  • Pour "critical" : afficher "CRITICAL: System shutdown imminent!" et passer au cas high (qui passe à son tour au cas medium)
  • Pour "high" : afficher "HIGH: Immediate attention required!" et passer également à l’affichage du message de priorité medium
  • Pour "medium" : afficher "MEDIUM: Please review when possible"
  • Pour "low" : afficher "LOW: Informational only"

Comme fallthrough enchaîne les cas, une alerte "critical" affiche trois lignes (CRITICAL, HIGH, MEDIUM), une alerte "high" en affiche deux (HIGH, MEDIUM), et "medium" et "low" en affichent une chacune.

Essayez vous-même

package main

import "fmt"

func main() {
    // Lire l'entrée
    var alertLevel string
    fmt.Scanln(&alertLevel)
    
    // TODO: Écrivez votre code ci-dessous
    // Créez une instruction switch avec fallthrough pour le système d'alerte
    
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur Go en ligne