Junior — Middle
Ako sa pristupuje k hodnotám v slovníku, ktorý ešte nebol vopred vytvorený?
sobes.tech AI
Odpoveď od AI
V jazyku Go, ak mapa (map) ešte nebola vytvorená (teda je nil), pokus o prístup k prvkom pomocou kľúča nezpôsobí paniku, ale jednoducho vráti nulovú hodnotu typu prvkov.
Napríklad:
var m map[string]int // m == nil
fmt.Println(m["key"]) // Vypíše 0, nezpôsobí chybu
Avšak, pokus o priradenie hodnoty do nil mapy spôsobí paniku:
m["key"] = 10 // panic: priradenie do položky v nil mape
Preto je potrebné pred zápisom do mapy uistiť sa, že je inicializovaná, napríklad:
m = make(map[string]int)
m["key"] = 10
Takto je možné pri čítaní pristupovať k nil mape bez chýb, ale pri zápise je nutné mapu predtým vytvoriť.