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