This commit is contained in:
aozhiwei 2024-06-16 12:57:13 +08:00
parent 9048589a4d
commit e7e95ff498
2 changed files with 34 additions and 0 deletions

View File

@ -107,6 +107,16 @@ func ToInt64Ex(x interface{}) (int64, error) {
return 0, errors.New("ToInt64Ex error type")
}
func SafeToInt64(x interface{}) int64 {
val, _ := ToInt64Ex(x)
return val
}
func SafeToInt32(x interface{}) int32 {
val, _ := ToInt64Ex(x)
return int32(val)
}
func ToFloat64Ex(x interface{}) (float64, error) {
switch i := x.(type) {
case int:
@ -144,6 +154,11 @@ func ToStringEx(x interface{}) (string, error) {
return "", errors.New("ToStringEx error type")
}
func SafeToString(x interface{}) string {
val, _ := ToStringEx(x)
return val
}
func DuckToSimple[T string | int | int32 | int64 | float32 | float64](
d interface{}, s *T) bool {
var sx interface{} = s

View File

@ -110,6 +110,15 @@ func NewEmptyStrPtr() *string {
return &tmpStr
}
func IsPureNumber(str string) bool {
for i := 0; i < len(str); i++ {
if !(str[i] >= '0' && str[i] <= '9') {
return false
}
}
return true
}
func GenFieldKvEmptyAsNull(key string, val string) []string {
if val == "" {
return []string{"!" + key, "NULL"}
@ -117,3 +126,13 @@ func GenFieldKvEmptyAsNull(key string, val string) []string {
return []string{key, val}
}
}
func AdjustRangeValue[T int | int32 | int64 | float32 | float64](value T, minV T, maxV T) T {
if value < minV {
value = minV
}
if value > maxV {
value = maxV
}
return value
}