在这个关于 go playground 的示例中,您可以看到循环遍历对象列表并将它们放入指针结构数组最终会多次将相同的条目放入数组中。
http://play.golang.org/p/rICA21kFWL
该问题的一个可能解决方案是制作一个新字符串并将该字符串从循环字符串中冲刺到新字符串中。虽然这看起来很愚蠢。
处理这个问题的惯用正确方法是什么?
最佳答案
如果我理解正确并且你只是想要一个指向原始数组中相应字符串的指针数组,你总是可以这样做
# choose correct size from beginning to avoid costly resize
o := make([]*string, len(f))
# iterate only over index
for i := range f {
o[i] = &f[i].username
}
Here's您的 go Playground ,上面列出了更改。
关于pointers - 在 Go 的循环中处理指针结构的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24704527/