34 lines
693 B
Plaintext
34 lines
693 B
Plaintext
package exitMgr
|
||
|
||
import (
|
||
"fmt"
|
||
|
||
"goutil/logUtil"
|
||
)
|
||
|
||
var (
|
||
exitFuncMap = make(map[string]func())
|
||
)
|
||
|
||
// RegisterExitFunc ...注册Exit方法
|
||
// funcName:方法名称
|
||
// exitFunc:exit方法
|
||
func RegisterExitFunc(funcName string, exitFunc func()) {
|
||
if _, exists := exitFuncMap[funcName]; exists {
|
||
panic(fmt.Sprintf("%s已经存在,请重新取名", funcName))
|
||
}
|
||
|
||
exitFuncMap[funcName] = exitFunc
|
||
logUtil.InfoLog("RegisterExitFunc funcName:%s,当前共有%d个注册", funcName, len(exitFuncMap))
|
||
}
|
||
|
||
// Exit ...退出程序
|
||
// 返回值:
|
||
// 无
|
||
func Exit() {
|
||
for funcName, exitFunc := range exitFuncMap {
|
||
exitFunc()
|
||
logUtil.InfoLog("Call ExitFunc:%s Finish.", funcName)
|
||
}
|
||
}
|