You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-library/utils/dorm/redis_string_result.go

39 lines
720 B

2 years ago
package dorm
3 years ago
3 years ago
type StringResult struct {
3 years ago
Result string // 结果
Err error // 错误
3 years ago
}
3 years ago
// NewStringResult 构造函数
3 years ago
func NewStringResult(result string, err error) *StringResult {
3 years ago
return &StringResult{
Result: result,
Err: err,
}
3 years ago
}
// Unwrap 空值情况下返回错误
func (r *StringResult) Unwrap() string {
if r.Err != nil {
3 years ago
panic(r.Err)
3 years ago
}
return r.Result
}
// UnwrapOr 空值情况下设置返回默认值
func (r *StringResult) UnwrapOr(defaults string) string {
if r.Err != nil {
return defaults
}
return r.Result
}
3 years ago
// UnwrapOrElse 空值情况下设置返回其他
3 years ago
func (r *StringResult) UnwrapOrElse(f func() string) string {
if r.Err != nil {
return f()
}
return r.Result
}