La sentencia `switch`
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 39 de 109.
Aprendamos sobre la sentencia switch en Go, que proporciona una forma más limpia de comprobar múltiples condiciones en comparación con el uso de muchas sentencias if/else if.
Primero, vamos a crear un programa sencillo que evalúa un número de día e imprime el nombre del día correspondiente:
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
Después de ejecutar este código, el programa comprobará el valor de day (que es 3) y lo comparará con el case correspondiente. Dado que day es igual a 3, el programa ejecutará el código bajo case 3 y mostrará en pantalla:
WednesdayLa sentencia switch comprueba cada case en orden hasta que encuentra una coincidencia. Si no se encuentra ninguna coincidencia, ejecuta el código bajo el caso default. Esto hace que tu código sea mucho más limpio que escribir múltiples sentencias if/else if.
Desafío
Principianteswitch en Go. Se te proporcionará una variable que representa un día de la semana, y deberás completar la sentencia switch para mostrar si es un día laboral o un fin de semana.Hoja de referencia
La sentencia switch en Go proporciona una forma más limpia de verificar múltiples condiciones en comparación con el uso de muchas sentencias if/else if.
Sintaxis básica:
switch variable {
case value1:
// código a ejecutar
case value2:
// código a ejecutar
default:
// código a ejecutar si no hay coincidencia
}
Ejemplo:
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
La sentencia switch verifica cada case en orden hasta que encuentra una coincidencia. Si no se encuentra ninguna coincidencia, ejecuta el código bajo el caso default.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Esta variable representa un día de la semana
day := "Saturday"
// TODO: Completar la sentencia switch para verificar si el día es un día laborable o fin de semana
switch day {
// Agregar casos para los días de fin de semana (Saturday y Sunday) e imprimir "It's the weekend!"
// Agregar un caso por defecto para los días laborables e imprimir "It's a weekday."
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones