1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package registry
import "your_project/invoker"
var registry = make(map[string]func() invoker.Invoker)
func Register(name string, factory func() invoker.Invoker) {
registry[name] = factory
}
func Get(name string) (invoker.Invoker, bool) {
factory, ok := registry[name]
if !ok {
return nil, false
}
return factory(), true
}
func GetRegistryList() []string {
registryList := make([]string, 0)
for k := range registry {
registryList = append(registryList, k)
}
return registryList
}
|