gitee.com/h79/goutils@v1.22.10/discovery/discovery.go (about) 1 package discovery 2 3 import ( 4 "gitee.com/h79/goutils/discovery/service" 5 "sync" 6 ) 7 8 // 需要对services 9 10 type Services struct { 11 lock sync.Mutex 12 Services map[string]service.Base 13 } 14 15 func NewServices() *Services { 16 return &Services{ 17 Services: make(map[string]service.Base), 18 } 19 } 20 21 func (s *Services) Add(name string, base service.Base) { 22 s.lock.Lock() 23 defer s.lock.Unlock() 24 s.Services[name] = base 25 } 26 27 func (s *Services) Del(name string) { 28 s.lock.Lock() 29 defer s.lock.Unlock() 30 delete(s.Services, name) 31 } 32 33 func (s *Services) Get(name string) (service.Base, bool) { 34 s.lock.Lock() 35 defer s.lock.Unlock() 36 it, ok := s.Services[name] 37 return it, ok 38 }