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