为了账号安全,请及时绑定邮箱和手机立即绑定

结构数组的地址范围

结构数组的地址范围

Go
吃鸡游戏 2021-08-16 16:16:33
我有一个 []Struct 类型的结构数组。当我以表格形式覆盖它时:for i, val := range mystructarray我知道 val 是一个局部变量,其中包含 mystructarray[i] 的副本。有没有比这更好的遍历 mystructarray 地址的方法:for i := range mystructarray{    valptr = &mystructarray[i]}?
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

在接收指向切片内容的指针时无法进行迭代(当然,除非它是一个指针切片)。


你的例子是最好的方法:


for i := range mySlice {

    x = &mySlice[i]

    // do something with x

}

但是请记住,如果您的结构不是很大,并且您不需要通过指针对它们进行操作,那么复制结构可能会更快,并为您提供更清晰的代码。


查看完整回答
反对 回复 2021-08-16
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信