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 instrucción switch sin una expresión después de la palabra clave. Esto resulta útil cuando queremos evaluar varias condiciones de una manera clara.

Creemos 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. Como nuestra edad es 25, no es menor que 13 ni que 20, pero sí es menor que 30, por lo que coincide con el tercer caso. El texto "Young Adult" se mostrará en la pantalla:

Young Adult

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

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

challenge icon

Desafío

Fácil

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

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

Usa estos rangos e imprime exactamente estos mensajes:

  • 5 a 11: Good morning!
  • 12 a 17: Good afternoon!
  • 18 a 21: Good evening!
  • cualquier otra hora: Hello! (el caso default, ya escrito)

Con timeOfDay = 14, el programa imprime Good afternoon!.

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 es 2:00 PM
	
	// TODO: Completa la sentencia switch sin una expresión
	// para imprimir el saludo apropiado según 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

Practica por tu cuenta: Compilador de Go online