이 유형이 있다고 가정 해 봅시다.
type Attribute struct {
Key, Val string
}
type Node struct {
Attr []Attribute
}
노드 속성을 반복하여 변경하고 싶습니다.
나는 할 수 있기를 바랐습니다.
for _, attr := range n.Attr {
if attr.Key == "href" {
attr.Val = "something"
}
}
그러나 attr
포인터가 아니기 때문에 이것은 작동하지 않으며 수행해야합니다.
for i, attr := range n.Attr {
if attr.Key == "href" {
n.Attr[i].Val = "something"
}
}
더 간단하거나 빠른 방법이 있습니까? 직접 포인터를 얻을 수 range
있습니까?
분명히 반복을 위해 구조를 변경하고 싶지 않으며 더 자세한 솔루션은 솔루션이 아닙니다.
forEach
가 형식 어설 션으로 시작해야 할까봐 걱정 됩니다. 그것은 실제로보다 낫지 않습니다 attr := &n.Attr[i]
.
Array.prototype.forEach
은 JavaScript에서 어떤 종류를 원 하십니까?