| 12345678910111213141516171819 |
- package common
- import (
- "fmt"
- "github.com/jinzhu/copier"
- )
- func DeepCopy[T any](src *T) (*T, error) {
- if src == nil {
- return nil, fmt.Errorf("copy source cannot be nil")
- }
- var dst T
- err := copier.CopyWithOption(&dst, src, copier.Option{DeepCopy: true, IgnoreEmpty: true})
- if err != nil {
- return nil, err
- }
- return &dst, nil
- }
|