Documentation ¶
Index ¶
- Constants
- Variables
- func MustProvide(t interface{}) interface{}
- func Provide(t interface{}) (interface{}, error)
- func RegisterObjectSingleton(t interface{})
- func RegisterType(t interface{}, f func() (interface{}, error))
- func RegisterTypeSingleton(t interface{}, f func() (interface{}, error))
- type NewFunction
Constants ¶
View Source
const ( Visiting string = "visiting" Done string = "done" )
Variables ¶
View Source
var ( TypeNotRegisteredError = errors.New("TypeNotRegistered") TypeAutoWireNotSupportError = errors.New("TypeAutoWireNotSupportError") CircularReferenceError = errors.New("CircularReferenceDetected") )
View Source
var Default = newThreadSafeContainer()
Functions ¶
func MustProvide ¶
func MustProvide(t interface{}) interface{}
Provide return object with type t, panic if not registered, t should be Ptr Type Or reflect.Type
func Provide ¶
func Provide(t interface{}) (interface{}, error)
Provide return object with type t if registered, t should be Ptr Type Or reflect.Type
func RegisterObjectSingleton ¶
func RegisterObjectSingleton(t interface{})
RegisterObjectSingleton register object t as singleton, t should be Ptr Type Or Interface
func RegisterType ¶
func RegisterType(t interface{}, f func() (interface{}, error))
RegisterType register t with constructor f, t should be Ptr Type Or reflect.Type, f should return Ptr or Interface
func RegisterTypeSingleton ¶
func RegisterTypeSingleton(t interface{}, f func() (interface{}, error))
RegisterTypeSingleton register t as singleton with constructor f, t should be Ptr Type Or reflect.Type
Types ¶
type NewFunction ¶
Click to show internal directories.
Click to hide internal directories.