package copier import ( "encoding/json" "github.com/pkg/errors" ) func Copy(to, from interface{}) error { b, err := json.Marshal(from) if err != nil { return errors.Wrap(err, "marshal from data err") } if err = json.Unmarshal(b, to); err != nil { return errors.Wrap(err, "unmarshal to data err") } return nil }