这里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
如果实现浅拷贝可以用指针~
时间: 2024-10-18 17:48:43