34 lines
524 B
Go
34 lines
524 B
Go
|
package myRedis
|
||
|
|
||
|
type StringResult struct {
|
||
|
Result string
|
||
|
Err error
|
||
|
}
|
||
|
|
||
|
func NewStringResult(result string, err error) *StringResult {
|
||
|
return &StringResult{Result: result, Err: err}
|
||
|
}
|
||
|
|
||
|
func (t *StringResult) Unwrap() string {
|
||
|
if t.Err != nil {
|
||
|
panic(t.Err)
|
||
|
}
|
||
|
|
||
|
return t.Result
|
||
|
}
|
||
|
|
||
|
func (t *StringResult) UnwrapOr(str string) string {
|
||
|
if t.Err != nil {
|
||
|
return str
|
||
|
} else {
|
||
|
return t.Result
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (t *StringResult) UnwrapOrElse(f func() string) string {
|
||
|
if t.Err != nil {
|
||
|
return f()
|
||
|
}
|
||
|
return t.Result
|
||
|
}
|