poying / di

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

di GoDoc Build Coverage

A really simple di library in about 100 lines of code.

import di

type Service1 struct {}

type Service2 struct {
    *Service1
}

di.Register(&Service1{}, func() (*Service1, error) {
    return &Service1{}
})

di.Register(&Service2{}, func(service1 *Service1) (*Service2, error) {
    return &Service2{service1}
})

di.InjectF(func (service2 *Service2) error {
    //...
})

service2 := &Service2{}
di.Get(service2)

About


Languages

Language:Go 99.0%Language:Makefile 1.0%