Get returns singleton for a given key, value does not exist if will be created by factory.
(key string, factory func() interface{})
| 54 | // Get returns singleton for a given key, value does not exist if will be |
| 55 | // created by factory. |
| 56 | func Get(key string, factory func() interface{}) interface{} { |
| 57 | mu.Lock() |
| 58 | defer mu.Unlock() |
| 59 | |
| 60 | v := c.Get(key) |
| 61 | if v == nil { |
| 62 | v = factory() |
| 63 | c.Set(key, v) |
| 64 | } |
| 65 | return v |
| 66 | } |
| 67 | |
| 68 | // Clear removes singleton for a given key. |
| 69 | func Clear(key string) { |