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) } }