Golang Static vs对象的动态绑定

时间:2015-04-02 23:03:20

标签: reflection go threadpool

我有这个应用程序,其中请求根据结构中的字符串进行过滤,并使其执行不同的函数。

我的方法是使用Map将字符串映射到函数指针并执行它们。然而,想要通过反射进行过滤的队友正在争论这种方法。我们正在使用Go,它用于监控我们网站的活动。

队友方法:使用反射基于字符串切换对象,将字符串传递给函数并让函数调用相关函数。 我的方法:从字符串到函数的简单映射

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

基于反射的自动发现的缺点是你必须要小心添加到系统中的内容,因为它可以自动拾取。

vs map方法,您需要显式公开每个函数。

当然,反射更酷,更自然神奇。但是,自动魔法并不能很好地保证安全性或长期可维护性。

另外,如果您尝试注册不匹配的函数,则不会编译map [string] func(具有特定签名)。

你会在哪里找到反射的东西,然后思考为什么它是运行时失败。