EncodeStructIDs 编码结构体中的ID字段
(data interface{})
| 165 | |
| 166 | // EncodeStructIDs 编码结构体中的ID字段 |
| 167 | func EncodeStructIDs(data interface{}) interface{} { |
| 168 | if data == nil { |
| 169 | return nil |
| 170 | } |
| 171 | |
| 172 | v := reflect.ValueOf(data) |
| 173 | if v.Kind() == reflect.Ptr { |
| 174 | if v.IsNil() { |
| 175 | return nil |
| 176 | } |
| 177 | v = v.Elem() |
| 178 | } |
| 179 | |
| 180 | switch v.Kind() { |
| 181 | case reflect.Struct: |
| 182 | return encodeStructFields(v) |
| 183 | case reflect.Slice: |
| 184 | return encodeSliceStructs(v) |
| 185 | default: |
| 186 | return data |
| 187 | } |
| 188 | } |
| 189 | |
| 190 | // encodeStructFields 编码结构体字段 |
| 191 | func encodeStructFields(v reflect.Value) interface{} { |
no test coverage detected