如何通过反射拿到方法的参数

fwhez · 2018-05-18 10:24:51 · 3114 次点击

要查看完整的构建(注册)与运行调用,可以参考 go 标准库的 rpc 包

#3
更多评论

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

@fwhez

vType:=reflect.TypeOf(add)
numIn:=vType.NumIn() //返回func类型的参数个数,如果不是函数,将会panic 
addIn:=make([]reflect.Type,numIn) 
for i:=0;i
#2