package fserr import ( "fmt" "net/http" "sync" ) var codeMap sync.Map var defaultErrCode = ErrCode{ HttpCode: http.StatusOK, } func register(business int, code ErrCode) { codeMap.Store(business, code) } func getCode(business int) ErrCode { code, ok := codeMap.Load(business) if ok { return code.(ErrCode) } ret := defaultErrCode ret.BusinessCode = fmt.Sprintf("%06d", business) return ret }