Diyelim ki bu türlere sahibim:
type Attribute struct {
Key, Val string
}
type Node struct {
Attr []Attribute
}
ve bunları değiştirmek için düğümümün niteliklerini yinelemek istiyorum.
Yapabilmek isterdim:
for _, attr := range n.Attr {
if attr.Key == "href" {
attr.Val = "something"
}
}
ama attrbir işaretçi olmadığından, bu işe yaramaz ve ben yapmak zorundayım:
for i, attr := range n.Attr {
if attr.Key == "href" {
n.Attr[i].Val = "something"
}
}
Daha basit veya daha hızlı bir yol var mı? Doğrudan işaretçi almak mümkün mü range?
Açıkçası ben sadece yineleme için yapıları değiştirmek istemiyorum ve daha ayrıntılı çözümler çözüm değildir.
forEachmutlaka bir tür iddia ile başlayacağından korkuyorum . Bundan daha iyi değil attr := &n.Attr[i].
Array.prototype.forEachJavaScript mi istiyorsunuz ?