在 golang 中执行进程内动态插件的一种方法

One way to do in-process dynamic plugin in golang

最近我想在golang中构建一个动态插件框架,我知道plugin构建模式还没有实现。

所以我正在考虑将 go 插件构建到 c 风格的共享对象中,并使用 C.dlopen 的主程序加载插件。

复杂的数据结构可以通过json编码的字符串传递。

这个方法可行吗?或者是否会造成任何可预见的不利因素?

提前致谢。

此方法不是执行动态插件的可行方法 loading/reloading。 详情在这里:https://github.com/golang/go/issues/11100

连golang 1.8的plugin特性也不支持reload