Junior — Middle
Kas on võimalik saada konkreetse elemendi aadress, mis on salvestatud assotsiatiivses tabelis (Map)?
sobes.tech AI
Vastus AI-lt
Go keeles ei ole võimalik otse saada konkreetse elemendi aadressi, mis on salvestatud map-is. See on seotud sellega, et kaardi elemendid võivad muutuste ajal mälus liikuda, ning kompilaator ei luba võtta väärtuse aadressi indeksimise kaudu, et vältida vigu.
Näiteks, järgmine kood ei kompileeru:
m := map[string]int{"a": 1}
p := &m["a"] // kompileerimisviga: ei saa võtta m["a"] aadressi
Kui peate töötama väärtuse aadressiga, saate salvestada näitajaid või struktuure map-is ja võtta nende aadressi:
m := map[string]*int{"a": new(int)}
*m["a"] = 42
Või kopeerida väärtus map-ist muutujasse ja võtta selle aadress.