在地图中存储引用的更好方法



有什么比这更好的方法来存储对映射中结构的引用?现在我正在使用一个匿名函数,以便所有映射键都不会以相同的引用结束。我相信必须有一种更优雅的方式来做到这一点。

m := make(map[string]*Result)
for result := range results {
func(r Result) {
m[r.Key] = &r
}(result)
}

更新:results是简单结构的通道

使用以下命令存储指向新分配值的指针:

m := make(map[string]*Result)
for r := range results {
r := r
m[r.Key] := &r
}

如果您尝试复制结果结构:

m := make(map[string]*Result)
for result := range results {
result:=result
m[result.Key] = &result
}

最新更新