Junior — Middle
Da li je moguće dobiti adresu određenog elementa koji se nalazi u asocijativnoj tabeli (Map)?
sobes.tech АИ
Одговор од АИ
У Језику 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 у променљиву и узимати њену адресу.