这是一个创建于 1504 天前的主题,其中的信息可能已经有所发展或是发生改变。
目前有这样一个需求:
通过配置文件,反射获取目标的方法,但最多只能通过 reflect.ValueOf.MethodByName 或者 reflect.ValueOf.Method 得到一个 reflect.Value 类型,虽然直接调用.Call()能执行此方法,但我想将 reflect.Value 类型转为 func()类型,如 f := func; f() 这样调用,而不是通过 reflect.Value.Call()调用。
先不讨论为什么要如此放屁脱裤子多此一举,就想问问大佬们,能转成 func()类型吗
4 条回复 • 2020-08-25 17:33:32 +08:00
|
|
1
CRVV 2020-08-25 13:47:59 +08:00
|
|
|
2
Vegetable 2020-08-25 14:03:54 +08:00
f := v.Interface().(func() int)
|
|
|
3
Vegetable 2020-08-25 14:04:38 +08:00
得注意函数的类型必须包括参数和返回
|