假设我有这些类型:
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?
显然,我不想仅仅为了迭代而改变结构,更详细的解决方案是没有解决方案的。
慕田峪4524236
相关分类