func (c *container) Deregister(id string) {
	c.Lock()
	delete(c.registry, id)
	c.Unlock()
}
Deregister service be id
package gocontainer
import (
	"fmt"
	"reflect"
	"sync"
)
type Container interface {
	Register(id string, object interface{})
	Deregister(id string)
	Has(id string) bool
	Get(id string) (interface{}, bool)
	MustGet(id string) interface{}
	Invoke(id string, fn interface{})
	MustInvoke(id string, fn interface{})
	MustInvokeMany(ids ...string) func(fn interface{})
}
type container struct {
	sync.RWMutex
	registry map[string]interface{}
}
func New() Container {
	return &container{
		registry: make(map[string]interface{}),
	}
}
func (c *container) Register(id string, object interface{}) {
	if c.registry == nil {
		c.registry = make(map[string]interface{})
	}
	c.Lock()
	c.registry[id] = object
	c.Unlock()
}