Go之对象拷贝

时间:2023-03-08 19:45:02

这里interface{}就相当于c#,java中的object,

        boy := util.Boy{util.Person{"Eric", 19, "boy"}, "1"}

	girl := util.Girl{util.Person{"Jessica", 19, "girl"}, "2"}

 所以可以这样做 

	var boyClone interface{} = boy
fmt.Println(boy)
fmt.Printf("%p", &boy)
fmt.Println(boyClone)
fmt.Printf("%p", &boyClone)

  输出结果如下

看上去像是深拷贝~地址都不一样了

{{Eric 19 boy} 1}
0xc082006240
{{Eric 19 boy} 1}
0xc08200a340

如果实现浅拷贝可以用指针~