【发布时间】:2017-08-24 08:51:35
【问题描述】:
我在golang 中有一个结构,如下所示
type Test struct {
prop *int
}
当prop 是指向零值的指针时,我想对结构对象进行深度复制。真正的结构中有更多的字段,我想要整个结构 obj 的深度复制。我尝试使用gob 编码解码方式,但由于here 提到的设计结果,它将指针转换为0 到零指针。我也尝试使用reflect.Copy,但它因错误panic: reflect: call of reflect.Copy on struct Value 而恐慌。有没有更好的方法来深度复制此类结构对象?
编辑:
我尝试使用json 编码/解码,它有点工作。但我不知道它的缺点。
func DeepCopy(a, b interface{}) {
byt, _ := json.Marshal(a)
json.Unmarshal(byt, b)
}
有关于这个解决方案的 cmet 吗?
【问题讨论】:
标签: pointers go deep-copy gob go-reflect