Junior — Middle
¿Cómo se accede a los valores en un diccionario que aún no ha sido creado previamente?
sobes.tech AI
Respuesta de la IA
En Go, si un mapa (map) aún no ha sido creado (es decir, es igual a nil), intentar acceder a sus elementos por clave no causará un pánico, sino que simplemente devolverá el valor cero del tipo de los elementos.
Por ejemplo:
var m map[string]int // m == nil
fmt.Println(m["key"]) // Imprimirá 0, no causará error
Sin embargo, intentar asignar un valor a un mapa nil provocará un pánico:
m["key"] = 10 // pánico: asignación a entrada en mapa nil
Por lo tanto, antes de escribir en un mapa, se debe asegurar que esté inicializado, por ejemplo:
m = make(map[string]int)
m["key"] = 10
De esta manera, para leer, se puede acceder a un mapa nil sin errores, pero para escribir, es necesario crear previamente el mapa.