github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/common/deep_copy.go (about) 1 package common 2 3 import ( 4 "bytes" 5 "encoding/gob" 6 ) 7 8 func DeepCopy(dst, src interface{}) error { 9 var buf bytes.Buffer 10 if err := gob.NewEncoder(&buf).Encode(src); err != nil { 11 return err 12 } 13 return gob.NewDecoder(bytes.NewBuffer(buf.Bytes())).Decode(dst) 14 }