结构数组的地址范围

我有一个 []Struct 类型的结构数组。当我以表格形式覆盖它时:


for i, val := range mystructarray

我知道 val 是一个局部变量,其中包含 mystructarray[i] 的副本。有没有比这更好的遍历 mystructarray 地址的方法:


for i := range mystructarray{

    valptr = &mystructarray[i]

}

?


吃鸡游戏
浏览 166回答 1
1回答

慕婉清6462132

在接收指向切片内容的指针时无法进行迭代(当然,除非它是一个指针切片)。你的例子是最好的方法:for i := range mySlice {    x = &mySlice[i]    // do something with x}但是请记住,如果您的结构不是很大,并且您不需要通过指针对它们进行操作,那么复制结构可能会更快,并为您提供更清晰的代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go