【问题标题】:use string as function name - golang使用字符串作为函数名 - golang
【发布时间】:2017-12-11 18:45:05
【问题描述】:

有没有办法使用字符串作为函数名并调用它?

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

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

但它给了我这个错误:

cannot call non-function key (type string)

有没有办法让我的stringstring 映射并仍然实现这一目标?

【问题讨论】:

标签: string function dictionary go


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-06-26
    • 2014-02-11
    • 2019-11-23
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多