优化: 补全所有整数类型的跨类型比较支持
toFloat64 和 isTruthy 补充 int8/int16/int32/uint8/uint16/uint32
This commit is contained in:
@@ -454,10 +454,28 @@ func isTruthy(val any) bool {
|
|||||||
return v
|
return v
|
||||||
case int:
|
case int:
|
||||||
return v != 0
|
return v != 0
|
||||||
|
case int8:
|
||||||
|
return v != 0
|
||||||
|
case int16:
|
||||||
|
return v != 0
|
||||||
|
case int32:
|
||||||
|
return v != 0
|
||||||
case int64:
|
case int64:
|
||||||
return v != 0
|
return v != 0
|
||||||
|
case uint:
|
||||||
|
return v != 0
|
||||||
|
case uint8:
|
||||||
|
return v != 0
|
||||||
|
case uint16:
|
||||||
|
return v != 0
|
||||||
|
case uint32:
|
||||||
|
return v != 0
|
||||||
|
case uint64:
|
||||||
|
return v != 0
|
||||||
case float64:
|
case float64:
|
||||||
return v != 0
|
return v != 0
|
||||||
|
case float32:
|
||||||
|
return v != 0
|
||||||
case string:
|
case string:
|
||||||
return v != ""
|
return v != ""
|
||||||
case []any:
|
case []any:
|
||||||
@@ -558,6 +576,16 @@ func toFloat64(val any) (float64, bool) {
|
|||||||
return float64(v), true
|
return float64(v), true
|
||||||
case int32:
|
case int32:
|
||||||
return float64(v), true
|
return float64(v), true
|
||||||
|
case int16:
|
||||||
|
return float64(v), true
|
||||||
|
case int8:
|
||||||
|
return float64(v), true
|
||||||
|
case uint32:
|
||||||
|
return float64(v), true
|
||||||
|
case uint16:
|
||||||
|
return float64(v), true
|
||||||
|
case uint8:
|
||||||
|
return float64(v), true
|
||||||
default:
|
default:
|
||||||
return 0, false
|
return 0, false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user