最佳答案
我看到 range 返回键和值的“拷贝”。有没有一种方法可以让这个范围返回项目的地址?例子
package main
import "fmt"
type MyType struct {
field string
}
func main() {
var array [10]MyType
for _, e := range array {
e.field = "foo"
}
for _, e := range array {
fmt.Println(e.field)
fmt.Println("--")
}
}
Http://play.golang.org/p/afogg9ngpx
这里没有修改“ field”,因为 range 发送字段的副本。 我必须使用索引还是有其他方法来修改值?