看你想做到什么程度。
简单的可以像 Prometheus 或 CoreDNS,在编译期插拔:

复杂点可以像 K8s 的 CNI,编译成可执行文件再被调用,或者通过 RPC 调用(例如:hashicorp/go-plugin)。
最后可以考虑 Go 的 Plugin 功能(本质是动态链接库)。
=== 更新 1 ===
推荐一下这篇文章,总结了常见的插件模式(包括上面没提到的脚本)
Plugins in Go - Applied Go看你想做到什么程度。
简单的可以像 Prometheus 或 CoreDNS,在编译期插拔:
复杂点可以像 K8s 的 CNI,编译成可执行文件再被调用,或者通过 RPC 调用(例如:hashicorp/go-plugin)。
最后可以考虑 Go 的 Plugin 功能(本质是动态链接库)。
=== 更新 1 ===
推荐一下这篇文章,总结了常见的插件模式(包括上面没提到的脚本)
Plugins in Go - Applied Go