Sobes.tech
Junior — Middle

Каким образом обрабатывать ситуации, когда Map еще не была инициализирована?

sobes.tech AI

Atsakymas iš AI

Go kalboje, prieš naudojant map, jį reikia inicializuoti, kitaip bandymas įrašyti sukels paniką (runtime panic). Norint valdyti situaciją, kai map dar nėra inicializuotas (t.y., yra nil), galite:

  • Patikrinti, ar map yra inicializuotas prieš naudojimą:
var m map[string]int
if m == nil {
    m = make(map[string]int)
}
 m["key"] = 42
  • Arba iškart inicializuoti map deklaracijos metu:
m := make(map[string]int)
 m["key"] = 42

Taip visada turėtumėte įsitikinti, kad map nėra nil prieš rašant į jį.