使用字符串作为函数名称 - golang

时间:2017-07-07 12:53:13

标签: string function dictionary go

是否可以使用字符串作为函数名称并调用它?

我有一个字符串映射到函数名称
stuff := map[string]string{'keyword','function'}

当使用keyword时,我想用{2}个参数调用function stuff['keyword'](arg1,arg2)

但它给了我这个错误:

cannot call non-function key (type string)

有没有办法让我的string保持string地图并仍能实现这一目标?

1 个答案:

答案 0 :(得分:0)

您使用的地图在语法上无效。你可能想要这样的东西:

stuff := map[string]func(string, string)

然后,您就可以使用字符串键从地图中提取一个函数并调用它:

stuff["keyword"]("foo", "goo")

GoPlay:
https://play.golang.org/p/DNALJOmoiZ