Junior — Middle
Оё мумкин аст суроғаи унсури муайян, ки дар ҷадвали асосиативӣ (Map) нигоҳ дошта мешавад, ба даст оварда шавад?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go, наметавон мустақиман суроғаи элементи муайянеро, ки дар map нигоҳ дошта мешавад, гирем. Ин ба он вобаста аст, ки элементҳои харита метавонанд дар хотира ҳаракат кунанд дар вақти тағирот, ва компилятор иҷозат намедиҳад, ки суроғаи арзишро тавассути индексгирӣ гирифтан, то хатогиҳоро пешгирӣ кунад.
Масалан, коди зерин ҳеҷ гоҳ ҷамъоварӣ намешавад:
m := map[string]int{"a": 1}
p := &m["a"] // хатогии ҷамъоварӣ: наметавон суроғаи m["a"]-ро гирифт
Агар ба шумо лозим аст, ки бо суроғаи арзиш кор кунед, метавонед ишораҳо ё сохторҳоро дар map нигоҳ доред ва суроғаи онҳоро гиред:
m := map[string]*int{"a": new(int)}
*m["a"] = 42
Ё арзишро аз map нусхабардорӣ кунед ба тағирёбанда ва суроғаи онро гиред.