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