go反射通过字符串调用方法

来源:互联网 发布:vb.net 安卓 编辑:程序博客网 时间:2024/06/06 11:44


package mainimport "fmt"import "reflect"func MyMissionMethod(a string){fmt.Println("hello, world, this is my mission.")fmt.Printf("and this is my params: %s \n", a)}func CallMethod(method interface{}){// here method is a interface which is a type of funcfv := reflect.ValueOf(method)args := []reflect.Value{reflect.ValueOf("金天")}fv.Call(args)}func main() {mission := MyMissionMethodCallMethod(mission)}



这里,我callMyMissionMethod这个方法,是直接以interface这个类型去call的,明白我的意思吧?这样的话,你就有一个办法了,比如别人给我一个字符串”MyMissionMethod”,然后我要调用对应的方法,我可以做一个map,对应的value是mission,这个mission就是MyMissionMethod的interface类型,最后就可以调用之。
好了,就讲到这里吧,下一次blog讲解golang里面的多线程。
原创粉丝点击