Junior — Middle
Peut-on ajouter des éléments à une Map qui n'a pas encore été créée ou n'a pas reçu de valeurs initiales?
sobes.tech IA
Réponse de l'IA
En Go, il est impossible d'ajouter des éléments à une map si elle n'a pas été initialisée. Lors de la déclaration d'une variable de type map sans initialisation, elle a la valeur nil, et toute tentative d'écriture dans cette map entraînera une panique à l'exécution.
Pour ajouter des éléments, il faut d'abord créer une map avec la fonction make ou l'initialiser avec un littéral:
var m map[string]int // m == nil
m["key"] = 1 // panic : affectation à une entrée dans une map nulle
m = make(map[string]int) // maintenant m est initialisée
m["key"] = 1 // fonctionne
// ou initialiser directement
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // fonctionne
Ainsi, avant d'ajouter des éléments, la map doit être créée et ne doit pas être nil.