Я хочу узнать, как сделать так, чтобы основное приложение могло загружать расширения или плагины для улучшения функциональности указанного приложения. основываясь на моих знаниях других языков, вот как я себе это представлял.
- сначала должен иметь интерфейс в приложении, из которого будут производиться все подключаемые модули, которые будут загружены в приложение:
// some_package_in_the_main_app.go
type Plugin interface {
// function is called when the app starts
Enable()
// function is called when the app stops
Disable()
}
затем нужно создать плагин для добавления функциональности в приложение:
// some_plugin_package.go
func (*Plugin) Enable() {
}
func (*Plugin) Disable() {
}
Я хочу знать, как все это объединить в простой в управлении системе.