Sobes.tech
Junior — Middle

Կարող է ավելացնել տարրեր Map-ին, որը դեռ չի ստեղծվել կամ չի ստացել սկզբնական արժեքներ:

sobes.tech AI

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

Go լեզվում, հնարավոր չէ ավելացնել տարրեր map-ին, եթե այն նախապես չի սկսվել։ Երբ հայտարարում եք map տիպի փոփոխական առանց սկզբնական արժեքի, այն ունի nil արժեք, և նման map-ի մեջ գրելու փորձը կհանգեցնի գործարկման ժամանակ Panic- ի:

Ավելացնելու համար նախ պետք է ստեղծել mapmake ֆունկցիայի միջոցով կամ սկզբնապես այն հուշագրել Literal-ով:

var m map[string]int // m == nil
m["key"] = 1 // Panic: գրառում nil `map`-ում

m = make(map[string]int) // հիմա m-ն արդեն սկսված է
m["key"] = 1 // աշխատում է

// կամ անմիջապես սկսած
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // աշխատում է

Անհրաժեշտ է, որ map-ը ստեղծվի նախքան տարրեր ավելացնելը և այն չլինի nil։