Sobes.tech
Junior — Middle

Bir ilişkilendirilmiş tabloda (Map) saklanan belirli bir öğenin adresi alınabilir mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, map içinde saklanan belirli bir öğenin adresini doğrudan almak mümkün değildir. Bu, haritanın öğelerinin değişiklikler sırasında bellekte hareket edebilmesi ve derleyicinin hataları önlemek için indeksleme yoluyla değerin adresini almaya izin vermemesiyle ilgilidir.

Örneğin, aşağıdaki kod derlenmeyecektir:

m := map[string]int{"a": 1}
p := &m["a"] // derleme hatası: m["a"] adresi alınamaz

Değerin adresiyle çalışmanız gerekiyorsa, map içinde göstericiler veya yapılar saklayabilir ve onların adreslerini alabilirsiniz:

m := map[string]*int{"a": new(int)}
*m["a"] = 42

Veya map'den değeri kopyalayıp, onun adresini alabilirsiniz.