- go-container is a container pkg for go.
中文 | English
go get -u github.com/deatil/go-containerglobal use
di := container.DI()customer use
di := container.New()package main
import (
"fmt"
"github.com/deatil/go-container/container"
)
type testBind struct {}
func (t *testBind) Data() string {
return "testBind data"
}
func main() {
// Bind func
di := container.DI()
di.Bind("testBind", func() *testBind {
return &testBind{}
})
tb := di.Get("testBind")
tb2, _ := tb.(*testBind)
fmt.Printf("output: %s", tb2.Data())
// output: testBind data
}
func useProvide() {
// use Provide
di := container.DI()
di.Provide(func() *testBind {
return &testBind{}
})
di.Invoke(func(tb *testBind) {
fmt.Printf("output: %s", tb.Data())
// output: testBind data
})
}- The library LICENSE is
Apache2, using the library need keep the LICENSE.
- Copyright deatil(https://github.com/deatil).