go - 在 Golang 中使用函数生成地图
问题描述
我有一个字符串数组,可以用不同数量的元素生成。而且我想制作一个地图,该数组中的每个字符串都将与特定函数相关联。理论上,它可能看起来像这个例子,但这段代码当然不起作用:
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
包,但还没有找到如何将假定函数的名称(即字符串)转换为函数本身的方法。
解决方案
推荐阅读
- javascript - 过滤对象删除某些属性
- python - 数据帧的使用
- vue.js - 手动添加 Vue 组件并将数据绑定到本地数据变量
- asp.net - 如何在asp net中链接2个表?
- sql - 访问表单上文本框的 SQL“Where”子句
- python - 在 python 中显示 sqlite3 数据
- android - OpenGL ES 2 不渲染任何东西
- android - 将字节码转换为dex时出错:多个dex文件定义了Landroid/arch/lifecycle/LiveData$LifecycleBoundObserver;
- php - 插入表 ps_order_payment prestashop
- embedded - CMSIS 风格的简单工作室中的 TX RX 测试代码