首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态加载包

动态加载包
EN

Stack Overflow用户
提问于 2014-07-08 20:40:33
回答 4查看 37.3K关注 0票数 45

是否有可能在运行时加载特定的包?我希望有一种插件,其中每个插件有相同的功能,但有不同的行为,并根据配置文件,加载一个或其他。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-08 20:50:28

您可以考虑在运行时执行“plugin”包,方法是写出一个新程序(例如,到临时目录)并通过exec.Command执行,类似于exec.Command("go", "run", files…).Run()

您将看到一些类似的代码这里

票数 18
EN

Stack Overflow用户

发布于 2014-07-08 20:44:56

不,Go不支持动态加载的库。

您最好的选择是将插件作为自己的可执行文件启动,并通过套接字或stdin/stdout与其进行通信。

2017年最新情况

这个答案不再正确,Go now支持插件 (直到2021年6月才支持Linux和MacOS )

票数 39
EN

Stack Overflow用户

发布于 2017-06-30 15:48:30

到目前为止,已经有人支持这一点了。

https://golang.org/pkg/plugin/

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24641296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档