代码拉取完成,页面将自动刷新
/*
* @Author: lixu lixu@puchigames.com
* @Date: 2025-07-03 16:43:02
* @LastEditors: lixu lixu@puchigames.com
* @LastEditTime: 2025-07-03 16:48:52
* @FilePath: /go-helper/utils/ternary.go
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
package ixUtils
// Ternary 三元运算符函数,条件为 true 返回 a,否则返回 b
func Ternary[T any](cond bool, a, b T) T {
if cond {
return a
}
return b
}
// result := Ternary(a > b, "大于", "小于等于")
//num := Ternary(flag, 1, 0)
// Coalesce 返回第一个非零值,否则返回默认值
// s := Coalesce("", "默认值", "其他") // 返回 "默认值"
func Coalesce[T comparable](values ...T) T {
var zero T
for _, v := range values {
if v != zero {
return v
}
}
return zero
}
// IfErr error 不为 nil 返回 b,否则返回 a
// result := IfErr(err, data, defaultData)
func IfErr[T any](err error, a, b T) T {
if err != nil {
return b
}
return a
}
// Default 如果 v 为零值则返回 def,否则返回 v
func Default[T comparable](v, def T) T {
var zero T
if v == zero {
return def
}
return v
}
// PtrOrVal 指针不为 nil 返回指针指向的值,否则返回默认值
func PtrOrVal[T any](ptr *T, def T) T {
if ptr != nil {
return *ptr
}
return def
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。