package xerr import "fmt" type ServerMsg struct { Code int Msg string } func (e *ServerMsg) GetErrCode() int { return e.Code } func (e *ServerMsg) GetErrMsg() string { return e.Msg } func (e *ServerMsg) Error() string { return fmt.Sprintf("code: %d, msg: %s", e.Code, e.Msg) } func NewServerMsg(code int, msg string) *ServerMsg { return &ServerMsg{Code: code, Msg: msg} }