Documentation ¶
Overview ¶
Package instance provides instances management.
Note that this package is not used for cache, as it has no cache expiration.
Index ¶
- func Clear()
- func Get(name string) interface{}
- func GetOrSet(name string, instance interface{}) interface{}
- func GetOrSetFunc(name string, f func() interface{}) interface{}
- func GetOrSetFuncLock(name string, f func() interface{}) interface{}
- func Remove(name string) interface{}
- func Set(name string, instance interface{})
- func SetIfNotExist(name string, instance interface{}) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetOrSet ¶
func GetOrSet(name string, instance interface{}) interface{}
GetOrSet returns the instance by name, or set instance to the instance manager if it does not exist and returns this instance.
func GetOrSetFunc ¶
func GetOrSetFunc(name string, f func() interface{}) interface{}
GetOrSetFunc returns the instance by name, or sets instance with returned value of callback function `f` if it does not exist and then returns this instance.
func GetOrSetFuncLock ¶
func GetOrSetFuncLock(name string, f func() interface{}) interface{}
GetOrSetFuncLock returns the instance by name, or sets instance with returned value of callback function `f` if it does not exist and then returns this instance.
GetOrSetFuncLock differs with GetOrSetFunc function is that it executes function `f` with mutex.Lock of the hash map.
func Remove ¶
func Remove(name string) interface{}
Remove deletes the instance by given name, and return this deleted instance.
func Set ¶
func Set(name string, instance interface{})
Set sets an instance to the instance manager with given name.
func SetIfNotExist ¶
SetIfNotExist sets `instance` to the map if the `name` does not exist, then returns true. It returns false if `name` exists, and `instance` would be ignored.
Types ¶
This section is empty.