object.go 328 B

1234567891011121314151617181920
  1. package domain
  2. import "git.sxidc.com/service-supports/fserr"
  3. type IDType interface {
  4. ~string | ~uint64
  5. }
  6. type Object interface {
  7. }
  8. func ToConcreteObject[T Object](object Object) (T, error) {
  9. concrete, ok := object.(T)
  10. if !ok {
  11. var zero T
  12. return zero, fserr.New("领域对象转化失败")
  13. }
  14. return concrete, nil
  15. }