Sobes.tech
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.