我需要从 XML 文件中读取数据并将其转换为 golang 中的函数。因为在golang中我需要在mux.NewRouter().HandleFunc("/url",functionName)中使用这个函数。我需要一种方法将从 XML 文件读取的字符串转换为函数名称以用作 functionName。
最佳答案
如果您将要调用的所有函数都注册为类型的方法,那么您可以执行如下操作。
type Foo struct{}
func (Foo) Bar() {
fmt.Println("foobar")
}
...
f := reflect.ValueOf(Foo{}).MethodByName("Bar").Interface().(func())
f()
在其中反射(reflect)方法所在的结构,然后获取方法的接口(interface)值并将其类型断言返回到它的 func 签名。
关于xml - 如何将字符串转换为函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44309453/