tux*_*21b 15
Go还不支持动态库.Elias Naur最近发布了一些补丁,但它们还没有被审查过,它们不太可能被包含在Go 1.2中.您可以阅读有关Google网上论坛的讨论:
据我所知,这是有关该主题的最新讨论.
然而,还有另一种方法.您可以在单独的进程中启动插件,并使用net/rpc包与主应用程序进行通信.这也允许您动态启动/停止/重新编译单独的插件,它的优点是坏插件不会崩溃您的程序.擅长网络通信,你只需要好好利用它.
我需要编辑程序并重新编译,
您还可以考虑编写一个小脚本来监视当前目录中的更改(使用fsnotify)并执行"go build",然后重新启动程序.我在本地开发期间对我的一些Web项目使用这种方法,它工作正常.我无法观察任何编译时间,我在切换和刷新浏览器窗口时非常快.我的Python开发周期,必须重新启动解释器,并且必须在每次更改时重新导入所有模块(这可能需要在较大的项目中花费大量时间!),与Go相比,感觉非常笨拙.
- 一年后:在这方面有进化的东西吗?像Milo一样,我正在尝试创建纯粹的插件系统: - / (3认同)