【发布时间】:2016-05-21 02:37:09
【问题描述】:
我有一个interface{} 变量,我知道它是一个指向切片的指针:
func isPointerToSlice(val interface{}) bool {
value := reflect.ValueOf(val)
return value.Kind() == reflect.Ptr && value.Elem().Kind() == reflect.Slice
}
但我发现很难将其类型转换为 []interface{} 变量:
if isPointerToSlice(val) {
slice, worked := reflect.ValueOf(val).Elem().Interface().([]interface{})
// 'worked' is false :(
}
这不起作用。知道如何解决这个问题吗?
【问题讨论】:
标签: go reflection interface slice type-assertion