Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CondExpr ¶
func CondExpr[T comparable](expr bool, a, b T) T
仿三目运算符(条件表达式), expr ? a : b, 性能较高, 适用于表达式较为简单时使用
- @param expr 条件表达式
- @param a 当expr为true时返回a, 必须为常量或常量表达式, 否则非常危险
- @param b 当expr为false时返回b, 必须为常量或常量表达式, 否则非常危险
- @return 当expr为true时返回a, 否则返回b
@example
condexpr.CondExpr[string](isServer, "Server", "Client")
expr为true时返回a, 否则返回b
func CondExprLazy ¶ added in v0.5.1
CondExprLazy: 仿三目运算符(条件表达式), expr ? a() : b(), 性能较低, 适用于表达式较为复杂时使用
- @param expr 条件表达式
- @param a 当expr为true时返回a()的返回值
- @param b 当expr为false时返回b()的返回值
- @return 当expr为true时返回a()的返回值, 否则返回b()的返回值
@example
res := CondExprLazy(tempValue == nil, Val(0.0), Ptr(tempValue, 0.0))
res := CondExprLazy(tempValue == nil, func() float64 { return 64}, func() float64 { return ExpensiveCall() })
func SafeGet ¶ added in v0.5.1
SafeGet: 如果指针不为空且满足条件,返回其值,否则返回备选值
- @param ptr 指针
- @param predicate 当ptr不为nil时,*ptr值的判断callback
- @param fallback 当ptr为空或predicate不满足条件时返回的备选值
- @return 当ptr非空且predicate满足条件时返回其指向的值, 否则返回fallback
@example
condexpr.SafeGet(ptr, func(v string) bool { return v != "" }, "default")
condexpr.SafeGet(tempValue, func(v float64) bool { return v == 34 }, condexpr.Unwrap(tempValue1, 0))
Types ¶
Click to show internal directories.
Click to hide internal directories.