是否可以在运行时加载特定的包? 我想有一种插件,其中每个插件都有相同的功能,但具有不同的行为,并根据配置文件,加载一个或另一个.

推荐答案

您可以考虑在运行时执行"插件"包,通过编写一个新程序(例如,到一个临时目录)和通过exec.Command执行,沿着exec.Command("go", "run", files…).Run()行.

你会看到类似的代码here.

Go相关问答推荐

如何在Go中使用a-h/tempson渲染预格式的内容?

如何描述OpenAPI规范中围棋的数据类型.JSON?

Hugo错误:没有为此项目配置现有内容目录

什么东西逃到了堆里?

如何模拟go的Elastic search SDK?

格式化 Azure SDK 的 golang 时间

如何使用 html/template 在 golang 中运行一个范围内的范围

Go-如何在递归函数中关闭通道

如何从Go项目连接Microsoft Access数据库?

在 Go sync.Map 中,为什么这部分实现不一致或者我误解了什么?

加载 docker 镜像失败

从动态输入中提取字符串,其中部分字符串可能不存在

使用innerxml在 Go 中编码 XML 是否仅适用于某些类型?

在 Golang 中,如何将接口作为泛型类型与 nil 进行比较?

当有多个同名包时如何在vscode中显示golang包完整路径?

Golang grpc go.mod 问题

Go 导入范围查找 protobuf 类型

如何使用带有Electron 表格 ID、Electron 表格名称、表格 ID 和值的 golang 在 googlesheet 中插入数据

如何在测试中传递用户名和密码等参数

Beego - 我需要context.Context而不是 Beego 上下文