为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 对象的静态与动态绑定

Golang 对象的静态与动态绑定

Go
智慧大石 2021-09-27 16:43:15
我有这个应用程序,其中根据结构中的字符串过滤请求并执行不同的功能。我的方法是使用 Map 将字符串映射到函数指针并执行它们。然而,这种方法正受到希望通过反射进行过滤的队友的反对。我们正在使用 Go,它用于监控我们网站的活动。队友做法:利用反射根据字符串切换对象,将字符串传递给函数,让函数调用相关函数。我的方法:从字符串到函数的简单映射任何帮助表示赞赏。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

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

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

当然,反射更酷,更具有自动魔力。但是 auto-magical 并不能很好地将其用于安全性或长期可维护性。

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

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


查看完整回答
反对 回复 2021-09-27
  • 1 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信