好吧,我曾经使用过
reflect.ValueOf,然后如果它是一个切片,则可以调用,
Len()并
Index()在该值上调用以
len在索引处获取切片和元素的。我认为您将无法使用范围操作来做到这一点。
package mainimport "fmt"import "reflect"func main() { data:= []string{"one","two","three"} test(data) moredata:= []int{1,2,3} test(moredata)}func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: s := reflect.ValueOf(t) for i := 0; i < s.Len(); i++ { fmt.Println(s.Index(i)) } }}前往游乐场示例:http :
//play.golang.org/p/gQhCTiwPAq



