比如有一个方法:
```go
func add(a,b int)int{
return a+b
}
```
要拿到它的a,b怎么拿
```go
vType := reflect.TypeOf(add)
vValue := reflect.ValueOf(add)
然后呢
```
更多评论
vType:=reflect.TypeOf(add)
numIn:=vType.NumIn() //返回func类型的参数个数,如果不是函数,将会panic
addIn:=make([]reflect.Type,numIn)
for i:=0;i<numIn;i++{
addIn[i]=vType.In(i) //返回func类型的第i个参数的类型,如非函数或者i不在[0, NumIn())内将会panic
fmt.Println(addIn[i])
}
#1
<a href="/user/fwhez" title="@fwhez">@fwhez</a>
```
vType:=reflect.TypeOf(add)
numIn:=vType.NumIn() //返回func类型的参数个数,如果不是函数,将会panic
addIn:=make([]reflect.Type,numIn)
for i:=0;i<numIn;i++{
addIn[i]=vType.In(i) //返回func类型的第i个参数的类型,如非函数或者i不在[0, NumIn())内将会panic
fmt.Println(addIn[i])
}
```
#2