调用时要做的
update3是传递一个包含值副本的新数组,并立即丢弃该数组。这与您使用基元不同,因为您保留了数组。
这里有两种方法。
1) 使用指针数组而不是值数组:
您可以这样定义
update3:
func update3(x []*My) { x[0].Name = "many" return}并使用
update3([]*My{&my})2) 在数组中写(以与处理原语相同的方式)
arr := make([]My,1)arr[0] = My{Name: ""}update3(arr)

![为什么slice [] struct与[] builtin的行为不同? 为什么slice [] struct与[] builtin的行为不同?](http://www.mshxw.com/aiimages/31/413172.png)
