Junior — Middle
Comment accéder aux valeurs dans un dictionnaire qui n'a pas encore été créé à l'avance?
sobes.tech IA
Réponse de l'IA
En Go, si une carte (map) n’a pas encore été créée (c’est-à-dire qu’elle est égale à nil), tenter d’accéder à ses éléments par clé ne provoquera pas de panic, mais renverra simplement la valeur zéro du type des éléments.
Par exemple :
var m map[string]int // m == nil
fmt.Println(m["key"]) // Affichera 0, ne provoquera pas d’erreur
Cependant, tenter d’assigner une valeur à une carte nil entraînera un panic :
m["key"] = 10 // panic : assignation à une entrée dans une carte nil
Il faut donc s’assurer que la carte est initialisée avant d’y écrire, par exemple :
m = make(map[string]int)
m["key"] = 10
Ainsi, pour la lecture, on peut accéder à une carte nil sans erreur, mais pour l’écriture, il faut d’abord créer la carte.