我需要从XML文件中读取数据并将其转换为golang中的函数。因为在golang中我需要在mux.NewRouter()。HandleFunc(“/ url”,functionName)中使用此函数。我需要一种方法将从XML文件读取的字符串转换为函数名称以用作functionName。
答案 0 :(得分:0)
如果您在一个类型上注册了要作为方法调用的所有函数,那么您可以执行以下操作。
type Foo struct{}
func (Foo) Bar() {
fmt.Println("foobar")
}
...
f := reflect.ValueOf(Foo{}).MethodByName("Bar").Interface().(func())
f()
如果您反映方法所在的结构,然后获取方法的接口值,并将类型断言回到它的func签名。
Runnable示例: https://play.golang.org/p/m2nywmeD0Y