Menu
Coddy logo textTech

Switch con `fallthrough`

Parte de la sección Lógica y Flujo del Journey de GO de Coddy. Lección 1 de 68.

En Go, las switch statements normalmente ejecutan solo la case coincidente y después salen automáticamente. Sin embargo, la palabra clave fallthrough cambia este comportamiento al forzar que la ejecución continúe con la siguiente case, independientemente de si coincide.

Cuando usas fallthrough al final de un caso, Go ejecutará el código del caso siguiente sin comprobar su condición. Esto es diferente de lenguajes como C, donde necesitas break para evitar continuar con el caso siguiente.

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

En este ejemplo, si grade es "B", imprimirá tanto "Good job!" como "Keep trying!" debido a la instrucción fallthrough. Esto permite ejecutar varias acciones relacionadas para un único caso coincidente.

challenge icon

Desafío

Fácil

En este desafío, practicarás el uso de la palabra clave fallthrough en una instrucción switch para crear un sistema de alertas prioritarias. Cuando se active una alerta de alta prioridad, el sistema deberá mostrar varios mensajes de advertencia en secuencia.

Recibirás una entrada de tipo cadena que representa un nivel de alerta. Crea una instrucción switch que gestione diferentes niveles de alerta y use fallthrough para mostrar mensajes consecutivos para las alertas de mayor prioridad.

La entrada será uno de estos niveles de alerta: "critical", "high", "medium" o "low".

Tu instrucción switch deberá funcionar de la siguiente manera:

  • Para "critical": imprime "CRITICAL: System shutdown imminent!" y continúa para imprimir también el mensaje de alta prioridad
  • Para "high": imprime "HIGH: Immediate attention required!" y continúa para imprimir también el mensaje de prioridad media
  • Para "medium": imprime "MEDIUM: Please review when possible"
  • Para "low": imprime "LOW: Informational only"

Usa la palabra clave fallthrough para que las alertas críticas muestren los mensajes de prioridad crítica y alta, y las alertas altas muestren los mensajes de prioridad alta y media.

Pruébalo tú mismo

package main

import "fmt"

func main() {
    // Leer entrada
    var alertLevel string
    fmt.Scanln(&alertLevel)
    
    // TODO: Escribe tu código debajo
    // Crea una sentencia switch con fallthrough para el sistema de alertas
    
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Compilador de Go online