Sobes.tech
Junior — Middle

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

sobes.tech AI

Պատասխան AI-ից

Go լեզվում, նախքան օգտագործել map, անհրաժեշտ է այն նախապես սկսել, հակառակ դեպքում՝ փորձը գրելու կհանգեցնի Panic (runtime panic)-ի: Կառավարելու համար այն իրավիճակը, երբ map դեռ չի սկսվել (այսինքն՝ nil է), կարող եք.

  • Ստուգել, արդյոք map-ը սկսված է նախքան օգտագործելը:
var m map[string]int
if m == nil {
    m = make(map[string]int)
}
 m["key"] = 42
  • կամ անմիջապես սկսել map-ը հայտարարության ժամանակ:
m := make(map[string]int)
 m["key"] = 42

Այսպիսով, միշտ պետք է համոզվեք, որ mapnil չէ, նախքան դրա մեջ գրել։