Junior — Middle
Ի՞նչ գործողություններ կարելի է կատարել դեռ չինիցիալիզացված Map տիպի փոփոխականի հետ։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, map տիպի փոփոխականը նախնական արժեք է ստանում nil, եթե այն չի սկսվել:
nil map-ով թույլատրվում են հետևյալ գործողությունները:
- Արժեքի ընթերցում ըստ բանալիի — կվերադարձնի արժեքի զրո արժեքը և նշան, որ բանալին չկա:
- Ստուգել բանալիի առկայությունը
value, ok := map[key]օգտագործելով:
Արգելված գործողություններ:
- Գրառումը (արժեքի նշանակումը բանալիին) կհանգեցնի panic-ի:
- Ֆունկցիաների կանչը, որոնք փոփոխում են քարտեզը (օրինակ,
delete)nilքարտեզի վրա անվտանգ է և չի առաջացնի panic:
Օրինակ:
var m map[string]int // m == nil
v, ok := m["key"] // ok == false, v == 0
// m["key"] = 10 // panic: նշանակում `nil` քարտեզին
delete(m, "key") // անվտանգ, ոչինչ չի անում
Քարտեզը գրառման համար օգտագործելու համար այն պետք է նախապես սկսվի, օրինակ, make-ով:
m = make(map[string]int)
m["key"] = 10 // հիմա աշխատում է