Files
ezbookkeeping/pkg/utils/object.go
T
2020-12-23 00:11:08 +08:00

24 lines
351 B
Go

package utils
import (
"bytes"
"encoding/gob"
)
// Clone deep-clones src object to dst object
func Clone(src, dst interface{}) error {
var buf bytes.Buffer
if err := gob.NewEncoder(&buf).Encode(src); err != nil {
return err
}
err := gob.NewDecoder(bytes.NewBuffer(buf.Bytes())).Decode(dst)
if err != nil {
return err
}
return nil
}