// package service -- главный тип сервиса package service import ( "fmt" "log" "adt/pkg/types" ) // Service -- главный тип приложения type Service struct { store types.IStore // Хранилище сервиса servHttp types.IServHttp // Веб-сервер сервиса } // NewService -- возвращает новый объект сервиса func NewService(store types.IStore, servHttp types.IServHttp) (*Service, error) { log.Println("NewService()") { // Предусловия if store == nil { return nil, fmt.Errorf("NewService(): IStore==nil") } if servHttp == nil { return nil, fmt.Errorf("NewService(): IServHttp==nil") } } sf := &Service{ store: store, servHttp: servHttp, } return sf, nil } // Run -- запускает сервис в работу func (sf *Service) Run() error { log.Println("Service.Run()") if err := sf.servHttp.Run(); err != nil { return fmt.Errorf("Service.Run(): in IServHttp.Run, err=\n\t%w", err) } return nil }