Junior — Middle
Explica el principio de funcionamiento de la construcción type switch en el lenguaje Go y en qué se diferencia de un switch-case convencional.
sobes.tech AI
Respuesta de la IA
En el lenguaje Go, la construcción type switch se utiliza para determinar un tipo específico de un valor de interfaz en tiempo de ejecución. Permite realizar diferentes acciones dependiendo del tipo al que pertenece la variable que implementa la interfaz.
Ejemplo de sintaxis:
switch v := x.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("otro tipo")
}
Aquí, x es una variable de tipo interfaz, y v es una variable con un tipo específico dentro de cada case.
Diferencia con el switch-case normal:
- El switch normal compara el valor de la expresión con constantes o expresiones.
- El type switch compara el tipo del valor de la interfaz, no el valor en sí.
El type switch es útil para trabajar con interfaces, cuando se necesita realizar diferentes acciones dependiendo del tipo real del objeto almacenado en la interfaz.