在Go中循环处理指针结构的正确方法是什么?

时间:2014-07-11 18:49:32

标签: pointers struct go

在go操场上的这个例子中,您可以看到循环遍历对象列表并将它们放入指针结构数组中,最终将相同的条目多次放入数组中。

http://play.golang.org/p/rICA21kFWL

该问题的一个可能解决方案是创建一个新字符串并将循环字符串中的字符串sprint到新字符串中。这看起来很傻。

处理此问题的惯用方法是什么?

1 个答案:

答案 0 :(得分:1)

如果我理解正确并且您只是想要一个指向原始数组中相应字符串的指针数组,您可以随时执行此操作

# 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你去的操场上面勾勒出了变化。