1.用json包进行拷贝
有人问,为什么不用gorm的作者的copier包,当你两个对象的成员名不同时,不好用这个包进行转化,但是json包不一样,你只需要让json标签名相同就行,还是很泛用的。
步骤很简单,你有对象A和对象B,你想把对象A的值copy到对象B中
- 把想拷贝的成员属性的json标签名写成相同的
- 用json包获取对象A的jsonbuf
- 用json包将jsonbuf解析到对象B中
至此就完成了一次拷贝
值得注意的是:json可以设置omitempty来说明,我不要零值的数据;同时,当对象A或B某一方用的是指针类型(比如*int),json编码和解析的时候会自动帮你处理这个问题