我想创建一个模块库,可以添加文件并将其作为二进制文件的一部分。
例如,在我的package main
我有:
type InitFunc func(params DriverParams) (Driver, error)
func Register(name string, f InitFunc) {
}
然后我希望有人在模块目录中添加一个调用Register()
。
随后我的主程序包将调用所有已注册的功能。
这样,我的主程序包就不会知道将要添加的模块。
如何在golang中完成此操作?