Senior
¿En qué opción de conversión de tipo es posible un pánico y qué construcción permite evitarlo?
sobes.tech AI
Respuesta de la IA
La pánico puede ocurrir durante la aserción de tipo (type assertion) si el tipo real del valor no coincide con el esperado. Por ejemplo:
var i interface{} = "cadena"
// Intentar convertir a int causará pánico
n := i.(int) // pánico: conversión de interfaz: interface {} es string, no int
Para evitar el pánico, se usa una construcción con dos valores de retorno — el segundo indica si la conversión fue exitosa:
n, ok := i.(int)
if !ok {
// manejo del error de conversión
}
De esta manera, la aserción de tipo segura evita el pánico y permite manejar correctamente la situación cuando los tipos no coinciden.