Junior — Middle
Hoe krijgt men toegang tot de waarden in een woordenboek dat nog niet eerder is gemaakt?
sobes.tech AI
Antwoord van AI
In Go, als een map (woordenboek) nog niet is gemaakt (dus nil is), zal proberen toegang te krijgen tot elementen via de sleutel geen panic veroorzaken, maar gewoon de nulwaarde van het elementtype retourneren.
Bijvoorbeeld:
var m map[string]int // m == nil
fmt.Println(m["key"]) // Geeft 0 weer, geen fout
Echter, proberen een waarde toe te wijzen aan een nil map zal een panic veroorzaken:
m["key"] = 10 // panic: toewijzing aan entry in nil map
Daarom moet je ervoor zorgen dat de map geïnitialiseerd is voordat je erin schrijft, bijvoorbeeld:
m = make(map[string]int)
m["key"] = 10
Op deze manier kan je bij het lezen zonder fouten een nil map benaderen, maar voor schrijven moet de map vooraf worden aangemaakt.