Nehmen wir an, ich habe folgende Typen:
type Attribute struct {
Key, Val string
}
type Node struct {
Attr []Attribute
}
und dass ich die Attribute meines Knotens durchlaufen möchte, um sie zu ändern.
Am liebsten hätte ich Folgendes tun können:
for _, attr := range n.Attr {
if attr.Key == "href" {
attr.Val = "something"
}
}
aber da attr
es kein Zeiger ist, würde dies nicht funktionieren und ich muss tun:
for i, attr := range n.Attr {
if attr.Key == "href" {
n.Attr[i].Val = "something"
}
}
Gibt es einen einfacheren oder schnelleren Weg? Ist es möglich, Zeiger direkt abzurufen range
?
Natürlich möchte ich die Strukturen nicht nur für die Iteration ändern, und ausführlichere Lösungen sind keine Lösungen.
forEach
notwendigerweise mit einer Typzusicherung beginnen würde. Das ist nicht wirklich besser als attr := &n.Attr[i]
.
Array.prototype.forEach
JavaScript?