<分区>
这一定是个菜鸟问题。从范围循环中获取元素后,我试图在结构/实例 (A.a) 中增加一个 var。看起来我得到了元素的副本,如何在范围循环中引用元素本身?
package main
import "fmt"
type A struct {
a int
s string
}
func main() {
var es = []A {
A{
a:0,
s:"test",
},
A{
a:1,
s:"test1",
},
}
for _,e:=range es {
fmt.Printf("%v\n", e)
e.a++
}
for _,e:=range es {
fmt.Printf("%v\n", e)
e.a++
}
}
输出:
{0 test}
{1 test1}
{0 test}
{1 test1}
期望的输出:
{0 test}
{1 test1}
{1 test}
{2 test1}
提前致谢