Go之对象拷贝

这里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

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

你可能感兴趣的:(Go之对象拷贝)