Junior — Middle
¿En qué casos se permite realizar una operación de inserción en un Map que aún no ha sido inicializado?
sobes.tech AI
Respuesta de la IA
En Go, no se puede realizar la operación de inserción en un map si no ha sido inicializado (es decir, si es nil), ya que esto provocará un pánico en tiempo de ejecución.
La inicialización del map se realiza con la función make:
m := make(map[string]int)
ms["key"] = 42 // correcto
Si el map es nil, un intento de escritura provocará un pánico:
var m map[string]int
m["key"] = 42 // pánico: asignación a entrada en un map nulo
Excepción:
- Si el
mapestá declarado pero no inicializado, se puede inicializar justo antes de insertar. - A veces, el
mappuede ser inicializado en un constructor o función y pasado a otros.
Por lo tanto, la inserción en un map no inicializado solo es válida después de su inicialización explícita mediante make o asignación de un map ya existente e inicializado. Sin esto, la operación provocará un error en tiempo de ejecución.