package module import "sync" // 重点!!!每个模块需要保证同步执行 type Module interface { Init() error // 初始化 Start(ready *sync.WaitGroup) error // 启动 AfterStart() error // 启动之后 Stop() error // 停止 Bind(data ...any) Module // 绑定数据 } type DefaultModule struct { } func (m *DefaultModule) Init() error { return nil } func (m *DefaultModule) Start(ready *sync.WaitGroup) error { ready.Done() return nil } func (m *DefaultModule) AfterStart() error { return nil } func (m *DefaultModule) Stop() error { return nil } func (m *DefaultModule) Bind(_ ...any) Module { return m }