forked from free-lancers/electricity_bill_calc_service
enhance(meter):完成大部分表计相关的接口。
This commit is contained in:
@@ -91,6 +91,14 @@ func CondFn[T, R any](exprFn func(val T) bool, value T, trueValue, falseValue R)
|
||||
return Cond(exprFn(value), trueValue, falseValue)
|
||||
}
|
||||
|
||||
// 使用给定的函数对指定的值进行判断,根据表达式的值返回指定的值。本函数为惰性求值。
|
||||
func CondFnElse[T, R any](exprFn func(val T) bool, value T, trueValueFn func(val T) R, falseValueFn func(val T) R) R {
|
||||
if exprFn(value) {
|
||||
return trueValueFn(value)
|
||||
}
|
||||
return falseValueFn(value)
|
||||
}
|
||||
|
||||
// 使用给定的函数对指定的值进行判断,如果表达式为真,则返回指定的值,否则返回另一个值。
|
||||
func CondOr[T any](exprFn func(val T) bool, value, elseValue T) T {
|
||||
return CondFn(exprFn, value, value, elseValue)
|
||||
|
Reference in New Issue
Block a user