Junior — Middle
Kun je elementen toevoegen aan een Map die nog niet is gemaakt of geen initiële waarden heeft ontvangen?
sobes.tech AI
Antwoord van AI
In Go kun je geen elementen toevoegen aan een map als deze niet is geïnitialiseerd. Bij het declareren van een variabele van het type map zonder initialisatie, krijgt deze de waarde nil, en een poging om erin te schrijven zal leiden tot een runtime panic.
Om elementen toe te voegen, moet je eerst een map maken met de functie make of initialiseren met een literale waarde:
var m map[string]int // m == nil
m["key"] = 1 // panic: toewijzing aan entry in nil map
m = make(map[string]int) // nu is m geïnitialiseerd
m["key"] = 1 // werkt
// of direct initialiseren
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // werkt
Dus, voordat je elementen toevoegt, moet de map worden gemaakt en mag niet nil zijn.