Go 中通过反射动态创建函数
问题:
可以创建一个新函数吗使用 Go 的反射动态创建并绑定到接口
挑战:
要使用 Go 的接口实现 RPC 风格的接口,需要使用反射来:
但是,反射不提供直接方法来创建实现接口的值使用自定义
解决方案:
不幸的是,从问题的最初框架开始,纯粹通过 Go 中的反射创建带有附加方法的新函数是不可能的。虽然使用不安全的包来探索黑客可能是可行的,但这将是一项艰巨的任务。
替代方法:
解决用户正在尝试的更广泛的问题为了解决这个问题,可以探索替代方法,例如:
注意:
值得注意的是,随着Go 1.5的引入,添加了reflection.FuncOf和reflect.MakeFunc。这些功能提供了创建函数并将其绑定到接口的能力,解决了问题中描述的原始挑战。
以上是Go 的反射可以创建动态函数并将其绑定到接口吗?的详细内容。更多信息请关注PHP中文网其他相关文章!