Saltar al contenido principal
Publicado el

Switch en Go

Compartir:

Introducción

El switch es una herramienta poderosa en Go que permite a los programadores tomar decisiones basadas en múltiples casos. A diferencia de los condicionales con if y else, el switch suele ser más legible, especialmente cuando se trabaja con muchas condiciones.

Fundamentos del Switch

  1. Verificación de Igualdad: El switch compara la expresión dada con los valores de cada case.
  2. Ejecución Única: A diferencia de otros lenguajes, en Go, una vez que un case coincide, el programa sale del bloque switch. No se necesita un "break" explícito.
  3. Cláusula Default: Si ningún case coincide, se ejecuta el código bajo default. Sin embargo, default es opcional.

Switch Básico

dia := "jueves"

switch dia {
case "lunes":
	fmt.Println("Hoy es lunes.")
case "martes":
	fmt.Println("Hoy es martes.")
default:
	fmt.Println("No es ni lunes ni martes.")
}

Switch con Múltiples Condiciones en un Case

Es posible combinar varios valores posibles en un único case:

letra := 'B'

switch letra {
case 'A', 'E', 'I', 'O', 'U':
	fmt.Println("Vocal")
default:
	fmt.Println("Consonante")
}

Switch con Inicializador

Al igual que la instrucción if, el switch también puede tener una inicialización:

switch num := 5; num {
case 1, 3, 5, 7, 9:
	fmt.Println("Número impar")
default:
	fmt.Println("Número par")
}

Switch de Tipo

Go también soporta un switch basado en tipo, que resulta útil cuando se trabaja con interfaces:

var x interface{} = "texto"

switch x.(type) {
case int:
	fmt.Println("x es un entero")
case string:
	fmt.Println("x es una cadena")
default:
	fmt.Println("Tipo desconocido")
}

Conclusión

La instrucción switch en Go ofrece una forma limpia y eficiente de manejar múltiples condiciones. Ya sea para verificar valores o tipos, el switch hace que el código sea más organizado y legible.

Happy coding!