Files
copier/deepcopier.go
2025-09-29 15:28:09 +08:00

21 lines
358 B
Go

package copier
import "reflect"
func Copy(dst, src any, opts ...option) error {
copier := New(opts...)
return copier.Copy(dst, src)
}
func Clone(src any, opts ...option) (any, error) {
if src == nil {
return nil, nil
}
srcType := reflect.TypeOf(src)
dst := reflect.New(srcType).Interface()
err := New(opts...).Copy(dst, src)
return dst, err
}