48 lines
997 B
Go
48 lines
997 B
Go
/*
|
|
* @FileName: if.go
|
|
* @Author: JJXu
|
|
* @CreateTime: 2022/3/31 下午10:34
|
|
* @Description:
|
|
*/
|
|
|
|
package utils
|
|
|
|
import "strings"
|
|
|
|
func If(condition bool, trueVal, falseVal interface{}) interface{} {
|
|
if condition {
|
|
return trueVal
|
|
}
|
|
return falseVal
|
|
}
|
|
func IfGec[T ~string | ~int | ~int32 | ~int64 | ~bool | ~float32 | ~float64](condition bool, trueVal, falseVal T) T {
|
|
if condition {
|
|
return trueVal
|
|
}
|
|
return falseVal
|
|
}
|
|
|
|
// IsValueInList 值是否在列表中
|
|
// value:查询的值
|
|
// list: 列表
|
|
// disableStrictCase: 禁用严格大小写检查。默认是严格大小写
|
|
func IsValueInList(value string, list []string, disableStrictCase ...bool) bool {
|
|
var disStrictCase bool
|
|
if disableStrictCase != nil {
|
|
disStrictCase = disableStrictCase[0]
|
|
}
|
|
for _, v := range list {
|
|
var listValue string
|
|
if disStrictCase {
|
|
listValue = strings.ToLower(v)
|
|
value = strings.ToLower(v)
|
|
} else {
|
|
listValue = v
|
|
}
|
|
if listValue == value {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|