Menu
CoddyTech

`switch` con expresiones

Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 40 de 109.

Aprendamos a usar expresiones en las instrucciones switch en Go, que nos permiten evaluar condiciones directamente en cada case.

Primero, veamos cómo usar una instrucción switch con una condición en cada case para comprobar si un número es positivo, negativo o cero:

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Después de ejecutar este código, el programa mostrará en la pantalla:

Negative number

Observa que estamos usando switch { sin ningún valor después. Esto significa que Go evaluará cada expresión case como una condición booleana. Como num es -5, la segunda expresión num < 0 se evalúa como verdadera, así que se imprime "Negative number".

También podemos inicializar una variable directamente en la instrucción switch. Veamos cómo funciona:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Después de ejecutar este código, obtenemos el mismo resultado:

Negative number

En este ejemplo, declaramos e inicializamos num directamente en la instrucción switch. El punto y coma separa la inicialización de la expresión switch (que está vacía aquí). Esto hace que nuestro código sea más compacto sin cambiar su funcionalidad.

challenge icon

Desafío

Principiante
En este desafío, practicarás el uso de una expresión switch sencilla en Go. Debes completar el código para determinar la descripción de un día según su nombre usando una instrucción switch.

Ya se definió una variable dayName con el valor "Wednesday". Tu tarea es usar una expresión switch para asignar a la variable description:
- "Start of the week" para el lunes
- "Midweek" para el miércoles
- "Almost weekend" para el viernes
- "Weekend" para el sábado o el domingo
- "Regular day" para cualquier otro día

Pruébalo tú mismo

	// TODO: Escribe una sentencia switch que establezca la descripción según dayName
	// Para el lunes: "Start of the week"
	// Para el miércoles: "Midweek"
	// Para el viernes: "Almost weekend"
	// Para el sábado o el domingo: "Weekend"
	// Para cualquier otro día: "Regular 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

Practica por tu cuenta: Compilador de Go online