(value interface{})
| 163 | } |
| 164 | |
| 165 | func toInterfaceArray(value interface{}) []interface{} { |
| 166 | rv := reflect.ValueOf(value) |
| 167 | switch rv.Type().Kind() { |
| 168 | case reflect.Ptr: |
| 169 | return toInterfaceArray(rv.Elem().Interface()) |
| 170 | case reflect.Slice: |
| 171 | elems := rv.Len() |
| 172 | args := make([]interface{}, elems) |
| 173 | for i := 0; i < elems; i++ { |
| 174 | args[i] = rv.Index(i).Interface() |
| 175 | } |
| 176 | return args |
| 177 | } |
| 178 | return []interface{}{value} |
| 179 | } |