GO怎么检查包/函数是否存在,动态调用函数

RT 有些情况,比如某个变量是 f := "sqrt",想调用sqrt这个函数,当然,前提是这个函数所在包已经编译进来的。 这中情况怎么破?目前有办法吗

共 5 个回复


captain

不知道我有没有理解错,这个只能说实现了一半,因为还要先定义好这个:

funcs := map[string]interface{}{"foo":foo, "bar":bar}

如果能像PHP那样实现的话就爽了,直接定义一个函数,然后直接 $var()

# 1

jimmykuu

你只看了文章的前半部分,都告诉你用反射来做了,包都写好了。

# 2

David

别忘了 go 是编译语言,所以你得自己做一个map,其实就是自己做一些解释语言的事情才行。

# 3

xtidt11317

同问,如何处理返回值问题呢?

# 4