Menu
Coddy logo textTech

La palabra clave `fallthrough`

Parte de la sección Fundamentos del Journey de GO de Coddy — lección 42 de 109.

En Go, la palabra clave fallthrough nos permite continuar la ejecución al siguiente caso en una sentencia switch, incluso después de encontrar una coincidencia. Exploremos cómo funciona esto.

Primero, vamos a crear una sentencia switch simple que utiliza la palabra clave fallthrough para describir un número:

num := 15
    
switch {
case num < 20:
    fmt.Print("Less than 20 ")
    fallthrough
case num > 10:
    fmt.Print("Greater than 10 ")
    fallthrough
case num > 0:
    fmt.Print("Positive number")
}

Después de ejecutar este código, veremos los tres mensajes impresos en la pantalla:

Less than 20 Greater than 10 Positive number

Esto sucede porque el primer caso coincide (15 es menor que 20), y la palabra clave fallthrough obliga a Go a ejecutar también el segundo caso. Luego, el segundo caso también utiliza fallthrough, lo que hace que Go ejecute también el tercer caso. Sin fallthrough, solo se ejecutaría el primer caso que coincida.

Recuerda que fallthrough ejecutará el siguiente caso independientemente de si su condición es verdadera o no. En nuestro ejemplo, todas las condiciones resultan ser verdaderas para el número 15, pero el siguiente caso se ejecutaría incluso si su condición fuera falsa.

challenge icon

Desafío

Principiante

En este desafío, practicarás el uso de la palabra clave fallthrough en una sentencia switch. La palabra clave fallthrough permite que la ejecución continúe en el siguiente caso incluso después de encontrar una coincidencia.

Tienes una variable que representa un día de la semana. Tu tarea es añadir la palabra clave fallthrough en el lugar apropiado para que el programa imprima tanto 'It's a weekday!' como 'Time to work!' cuando el día sea 'Monday'.

Hoja de referencia

La palabra clave fallthrough permite que la ejecución continúe al siguiente caso en una sentencia switch, incluso después de encontrar una coincidencia:

num := 15
    
switch {
case num < 20:
    fmt.Print("Less than 20 ")
    fallthrough
case num > 10:
    fmt.Print("Greater than 10 ")
    fallthrough
case num > 0:
    fmt.Print("Positive number")
}

Esto producirá la salida: Less than 20 Greater than 10 Positive number

fallthrough ejecuta el siguiente caso independientemente de si su condición es verdadera o falsa.

Pruébalo tú mismo

package main

import "fmt"

func main() {
	// Una variable que representa un día de la semana
	day := "Monday"
	
	// Sentencia switch para comprobar el día
	switch day {
	case "Monday":
		fmt.Println("It's a weekday!")
		// TODO: Añadir la palabra clave fallthrough aquí para continuar con el siguiente case
	case "Tuesday", "Wednesday", "Thursday", "Friday":
		fmt.Println("Time to work!")
	case "Saturday", "Sunday":
		fmt.Println("It's the weekend!")
	default:
		fmt.Println("Invalid day!")
	}
}
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 Fundamentos