go_dreamfactory/comm/result.go
2022-07-19 10:12:37 +08:00

28 lines
456 B
Go

package comm
import "go_dreamfactory/lego/sys/log"
type ResultStruct[T any] struct {
Result T
Err error
}
func Result[T any](result T, err error) *ResultStruct[T] {
return &ResultStruct[T]{Result: result, Err: err}
}
func (this *ResultStruct[T]) Unwrap() T {
if this.Err != nil {
log.Errorf("%v", this.Err)
}
return this.Result
}
func (this *ResultStruct[T]) UnwrapOr(ret T) T {
if this.Err != nil {
return ret
}
return this.Result
}