mercredi 10 février 2016

interface{} variable to []interface{}

I have an interface{} variable and I know it's a pointer to slice:

func isPointerToSlice(val interface{}) bool {
    value := reflect.ValueOf(val)
    return value.Kind() == reflect.Ptr && value.Elem().Kind() == reflect.Slice
}

But I'm finding difficult to type cast it into an []interface{} variable:

if isPointerToSlice(val) {
  slice, worked := reflect.ValueOf(val).Elem().Interface().([]interface{})
  // 'worked' is false :(
}

This doesn't work. Any idea how can I solve this?





Aucun commentaire:

Enregistrer un commentaire