【发布时间】:2013-08-14 17:00:32
【问题描述】:
正如标题所说,我想根据仅在运行时可用的信息动态加载(或不加载)Go 包。
目标是允许用户通过添加新的本机脚本命令的自定义包来扩展程序。目前,每次我添加新命令或想要禁止某些命令时,我都需要编辑程序并重新编译,而如果我可以制作某种 dll 或类似的东西,那么我可以创建一个“导入”脚本命令来搜索和加载一个命名的命令库。
出于好奇,有问题的程序是基于自定义命令的脚本库,我用于各种事情。
我提前做了一些搜索,结果看起来不太好,但我找不到明确的否。
【问题讨论】:
-
这是个坏主意。您不想仅仅为了舒适而创建整个包的 di
-
这不仅仅是为了舒适,而是让我可以为那些想要它们的人提供可选的扩展,而不必将它们提供给每个人。
-
我对那些说“你不需要这个”的人表示堆栈溢出,如果你有的话就给出答案。然后建议其他方式。很多时候,即使作者确实需要不同的东西,很多人还是从搜索中得到这个问题,正是需要这个。
-
有没有办法在运行时动态加载其他语言的.so? CGO 只允许在程序开始时加载特定的 .so(而不是在运行时选择)。
-
这能回答你的问题吗? Load package dynamically
标签: go