go的拷贝

1.go的传参全部是拷贝传参

2.range出来的v也是拷贝出来修改

eg:答案是1

type M struct{
	A int
}
func main(){
	z := []M{
    {1},{2}}
	for _,m := range z{
		if m.A==1{
			
			m.A = 12
			
		}
	}
	fmt.Println(z[0].A)
}

那么怎样才能改变slice里面的值,

for i,m := range z{
		if m.A==1{
			z[i].A=14
			m.A = 12			
		}
	}

 

你可能感兴趣的:(语言篇-golang)