Junior — Middle
Kaip prieiti prie reikšmių žodyne, kuris dar nebuvo iš anksto sukurtas?
sobes.tech AI
Atsakymas iš AI
Go kalboje, jei žemėlapis (map) dar nebuvo sukurtas (t.y., yra nil), bandymas prieiti prie elementų pagal raktą nesukels panikos, o tiesiog grąžins elemento tipo nulines reikšmės.
Pavyzdžiui:
var m map[string]int // m == nil
fmt.Println(m["key"]) // Išves 0, nesukels klaidos
Tačiau, bandymas priskirti reikšmę nil žemėlapiui sukels paniką:
m["key"] = 10 // panika: priskyrimas į nil žemėlapį
Todėl prieš rašant į žemėlapį, būtina įsitikinti, kad jis yra inicializuotas, pavyzdžiui:
m = make(map[string]int)
m["key"] = 10
Taip, skaitant, galima prieiti prie nil žemėlapio be klaidų, tačiau rašant, būtina iš anksto sukurti žemėlapį.