Golang 对象的静态与动态绑定

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

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

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

任何帮助表示赞赏。


智慧大石
浏览 210回答 1
1回答

白板的微信

基于反射的自动发现的缺点是你永远必须小心你添加到系统中的内容,因为它可以被自动拾取。vs 映射方法,您需要显式公开每个函数。当然,反射更酷,更具有自动魔力。但是 auto-magical 并不能很好地将其用于安全性或长期可维护性。另外,如果您尝试注册不匹配的函数,则 map[string]func(具有特定签名)将无法编译。你会在哪里找到带有反射的东西,然后思考为什么它是一个运行时失败。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go