| 1111 | } |
| 1112 | |
| 1113 | func isEmptyValue(v reflect.Value) bool { |
| 1114 | switch v.Kind() { |
| 1115 | case reflect.Array, reflect.Map, reflect.Slice, reflect.String: |
| 1116 | return v.Len() == 0 |
| 1117 | case reflect.Bool: |
| 1118 | return !v.Bool() |
| 1119 | case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: |
| 1120 | return v.Int() == 0 |
| 1121 | case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: |
| 1122 | return v.Uint() == 0 |
| 1123 | case reflect.Float32, reflect.Float64: |
| 1124 | return v.Float() == 0 |
| 1125 | case reflect.Interface, reflect.Pointer: |
| 1126 | return v.IsNil() |
| 1127 | } |
| 1128 | return false |
| 1129 | } |