Я хочу узнать, как заставить основное приложение загружать расширения или плагины для улучшения функциональности указанного приложения. основываясь на моем знании других языков, я представил, как это будет выглядеть.
- во-первых, иметь интерфейс в приложении, из которого будут получены все подключаемые модули, загружаемые в приложение:
// 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() {
}
Я хочу знать, как подключить все это в простой в управлении системе.
os.Exit
, вы не сможете, и точка. Но если у приложения есть условия для остановки, вы можете использоватьdefer
. Наоборот, вы можете использоватьinit
в пакетеmain
при запуске приложения. - person Fahim Bagar   schedule 05.08.2020