我想我有这些类型:
type Attribute struct {
Key, Val string
}
type Node struct {
Attr []Attribute
}
Run Code Online (Sandbox Code Playgroud)
并且我想迭代我的节点的属性来改变它们.
我本以为能够做到:
for _, attr := range n.Attr {
if attr.Key == "href" {
attr.Val = "something"
}
}
Run Code Online (Sandbox Code Playgroud)
但由于attr不是指针,这不起作用,我必须这样做:
for i, attr := range n.Attr {
if attr.Key == "href" {
n.Attr[i].Val = "something"
}
}
Run Code Online (Sandbox Code Playgroud)
有更简单或更快的方式吗?有可能直接从指针中获取指针range吗?
显然,我不想仅仅为迭代更改结构,更详细的解决方案不是解决方案.