Menu
Coddy logo textTech

`switch` sin expresión

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

En Go, podemos usar una sentencia switch sin una expresión después de la palabra clave. Esto es útil cuando queremos evaluar múltiples condiciones de una manera limpia.

Vamos a crear un programa que categorice a una persona según su edad:

age := 25
    
switch {
case age < 13:
    fmt.Println("Child")
case age < 20:
    fmt.Println("Teenager")
case age < 30:
    fmt.Println("Young Adult")
default:
    fmt.Println("Adult")
}

Después de ejecutar este código, el programa comprobará cada condición de caso en orden. Dado que nuestra edad es 25, no es menor que 13 o 20, pero es menor que 30, por lo que el tercer caso coincide. El texto "Young Adult" se mostrará en la pantalla:

Young Adult

Observa que sin una expresión después de switch, cada case se convierte en una condición booleana que se evalúa como verdadera o falsa. El primer case que se evalúe como verdadero ejecutará su bloque de código.

Si ninguno de los casos coincide, el caso default se ejecutaría. En nuestro ejemplo, si age fuera 35, la salida sería "Adult".

challenge icon

Desafío

Fácil

En este desafío, practicarás el uso de una sentencia switch sin una expresión. Este tipo de switch es útil cuando quieres evaluar múltiples condiciones sin repetir sentencias if-else.

Hemos proporcionado una variable timeOfDay que representa la hora actual (en formato de 24 horas). Tu tarea es completar la sentencia switch sin una expresión para imprimir un saludo apropiado basado en la hora del día.

Hoja de referencia

Una sentencia switch sin expresión te permite evaluar múltiples condiciones de forma limpia:

age := 25
    
switch {
case age < 13:
    fmt.Println("Child")
case age < 20:
    fmt.Println("Teenager")
case age < 30:
    fmt.Println("Young Adult")
default:
    fmt.Println("Adult")
}

Cada caso se convierte en una condición booleana que se evalúa como verdadera o falsa. El primer caso que se evalúa como verdadero ejecuta su bloque de código. Si ningún caso coincide, se ejecuta el caso default.

Pruébalo tú mismo

package main

import "fmt"

func main() {
	// Esto representa la hora actual en formato de 24 horas (0-23)
	timeOfDay := 14 // Esto son las 2:00 PM
	
	// TODO: Completar la sentencia switch sin una expresión
	// para imprimir el saludo apropiado basado en la hora del día
	switch {
	// Añade tus casos aquí
	
	
	
	default:
		fmt.Println("Hello!")
	}
}
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