假设我有一个返回interface{}
. 但我知道退货是某种形式的一部分。如何确定该切片的长度?这是我尝试过的示例代码,但它们都会导致编译错误。
package main
import (
"log"
"reflect"
)
func SomeKindOfSlice() interface{} {
return []int64{0,1,2,3,4,5,6,7,8,9}
}
func main() {
slice := SomeKindOfSlice()
/*log.Println(reflect.TypeOf(slice).Len())
log.Println(reflect.TypeOf(slice).Type().Len())
log.Println(reflect.ValueOf(slice).Type().Len())
log.Println(reflect.ValueOf(slice).Elem().Type().Len())
*/
log.Println(reflect.ValueOf(slice).Elem().Type().Len())
}
我想避免专门类型断言slice
变量只是为了找到长度的蛮力方式。