我有一个字符串数组,可以用不同数量的元素生成。我想制作一个映射,其中该数组中的每个字符串都将与特定功能相关联。 从理论上讲,它可能看起来像以下示例,但是该代码当然不起作用:
package main
import "fmt"
import "strings"
var (
Names []string {"foo", "bar", "baz"}
)
func main() {
m := make(map[string]interface{})
for _, name := range Names {
fnname := strings.Title(name)
// add function to the map
m[name] = fnname
}
// exec functions store in the map
for _, fn := range m {
fn()
}
}
func Foo() {
fmt.Println("I'm foo")
}
func Bar() {
fmt.Println("I'm bar")
}
func Baz() {
fmt.Println("I'm baz")
}
我正在寻找reflect
软件包,但是还没有找到如何将假定函数的名称(字符串)转换为函数本身的方法。