This commit is contained in:
邹宗楠
2023-03-27 18:15:21 +08:00
parent 2ce5df5a88
commit 21b3326b5f
2 changed files with 16 additions and 0 deletions

View File

@@ -81,5 +81,19 @@ func IsNil(i interface{}) bool {
recover()
}()
vi := reflect.ValueOf(i)
switch vi.Kind() {
case reflect.String:
return len(i.(string)) == 0
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
return i.(int) == 0
case reflect.Float32, reflect.Float64:
return i.(float64) == 0.0
case reflect.Bool:
return i.(bool)
case reflect.Map:
return len(i.(map[interface{}]interface{})) == 0
case reflect.Slice:
return len(i.([]interface{})) == 0
}
return vi.IsNil()
}