Junior — Middle
Je možné pridávať prvky do Mapy, ktorá ešte nebola vytvorená alebo nedostala počiatočné hodnoty?
sobes.tech AI
Odpoveď od AI
V jazyku Go nie je možné pridávať prvky do map, ak ešte nebola inicializovaná. Pri deklarácii premennej typu map bez inicializácie má hodnotu nil, a pokus o zápis do takejto map spôsobí za behu pániku.
Na pridanie prvkov je potrebné najskôr vytvoriť map pomocou funkcie make alebo ju inicializovať literálom:
var m map[string]int // m == nil
m["key"] = 1 // panika: priradenie do nil mapy
m = make(map[string]int) // teraz je m inicializovaná
m["key"] = 1 // funguje
// alebo priamo inicializovať
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // funguje
Takže pred pridaním prvkov musí byť map vytvorená a nesmie byť nil.