当前位置: 首页 > news >正文

wordpress免费自定义模板装修教程百度seo关键词点击软件

wordpress免费自定义模板装修教程,百度seo关键词点击软件,wordpress隐秘链接,图怪兽在线制作图片之前的文章《Golang 中的 errors 包详解》详细讲解了 errors 包的主要类型和函数#xff0c;以及它们的使用方法。本文结合之前讲解的知识#xff0c;来讲解一下根据自己或团队的项目要求如何返回自定义的 error 类型。 为什么需要自定义 error 类型#xff1f; 在日常开发…之前的文章《Golang 中的 errors 包详解》详细讲解了 errors 包的主要类型和函数以及它们的使用方法。本文结合之前讲解的知识来讲解一下根据自己或团队的项目要求如何返回自定义的 error 类型。 为什么需要自定义 error 类型 在日常开发中返回自定义 error 类型是一种很常见的做法因为很多场景下标准库 errors 包中的 error 类型并不能满足需求。例如开发 web 项目时常见的返回结构可能如下 {code:xxx, data:yyy,msg:zzz} code 为状态码data 为接口返回的业务数据msg 为错误信息。针对这种响应结构一般做法是调用处理业务逻辑的函数或方法返回业务数据和 error然后在 api 层拼装成这种结构。所以 error 对象至少要包含状态码 code 和错误信息 msg这时候就需要实现自己的 error 类型了。 如何实现自定义 error 类型 在 Golang 中可以通过创建一个实现了 error 接口该接口仅包含一个 Error 方法的结构体来返回自定义的 error 类型。自定义的 error 类型可以包含自己定义的字段和方法以提供更多的错误信息和上下文信息。看一个示例来展示如何创建和返回自定义 error 类型 package mainimport (errorsfmt )// 自定义的错误类型 type MyError struct {code int64msg string }// 实现error接口的Error方法 func (e MyError) Error() string {return fmt.Sprintf(Error: [%d] %s, e.code, e.msg) }func (e MyError) Code() int64 {return e.code }func (e MyError) Msg() string {return e.msg }// 函数示例返回自定义error类型 func doSomething() error {err : MyError{code: 500,msg: Something went wrong,}return err }func main() {err : doSomething()if err ! nil {fmt.Println(err)}// 比较自定义error类型myErr : MyError{code: 500,msg: Something went wrong,}equal : errors.Is(err, myErr)fmt.Println(equal) // true } 在上述示例中首先定义了一个自定义的 MyError 类型包含 code 和 msg 两个字段然后实现 error 接口要求的 Error 方法。 接下来再看一个结合 gin 框架的具体使用示例简单示例代码如下 package mainimport (errorsfmtgithub.com/gin-gonic/ginnet/http )// 自定义的错误类型 type MyError struct {code int64msg string }func NewError(code int64, msg string) MyError {return MyError{code: code,msg: msg,} }// 实现error接口的Error方法 func (e MyError) Error() string {return fmt.Sprintf(Error: [%d] %s, e.code, e.msg) }func (e MyError) GetCode() int64 {return e.code }func (e MyError) GetMsg() string {return e.msg }// 函数示例返回自定义error类型 func doSomething() error {err : MyError{code: 500,msg: Something went wrong,}return err }func FromError(err error) MyError {if err nil {return NewError(1, )}if !errors.As(err, MyError{}) {return NewError(-1, )}return err.(MyError) }func TestHandler(c *gin.Context) {err : Logic()if err ! nil {e : FromError(err)c.JSON(http.StatusOK, gin.H{code: e.GetCode(), data: nil, msg: e.GetMsg()})return}c.JSON(http.StatusOK, gin.H{code: 1, data: nil, msg: }) }func Logic() error {return NewError(-1, something went wrong) }func main() {r : gin.New()r.GET(/test, TestHandler)r.Run(:8080) } 小结 通过返回自定义的 error 类型可以提供更多的错误信息和上下文信息使错误处理更加灵活和准确可以根据自己的实际需求和应用场景创建自定义错误类型。
http://www.hkea.cn/news/14458026/

相关文章:

  • 佛山网站优化步骤ui设计技术培训学校
  • 长沙手机网站建设哪些内容泉州网络seo
  • 帮别人做违法网站会判刑吗小吃加盟网站大全
  • 网站空间免费试用简体中文wordpress5.2下载
  • 苏州网站开发公司兴田德润简介世界工厂网免费平台
  • 网站优化方案pptseo网站描述
  • 怎样知道网站有没有做推广网站模板之家免费下载
  • 企业网站的建设水平直接关系到网络营销的效果网站后台系统是用什么做的
  • 新兴县城乡建设局网站登录wordpress用户注册提醒
  • 网站建设的不足陵水网站建设报价
  • 织梦的cms哪些网站杭州百度优化
  • 恒锐奇 做网站西安到北京
  • 网站设计开发制作不用开源做网站
  • 网站建设服务公司有用吗网络服务商不提供哪项服务
  • 深圳做网站应该怎么做提供网站制作公司哪家好
  • 南阳商城站站长之家app
  • 嘉兴网站快照优化公司公示网企业公示信息查询系统
  • 设计和建设企业网站心得和体会青岛模板网站
  • 沈阳设计网站公司网站网站配色绿色
  • 做360手机网站优化快做网站的资料修改
  • c语言做网站账号登录系统痘痘如何去除效果好
  • 网站不用域名可以吗青岛网站建设eoe
  • 夫妻网络网站建设为什么wordpress慢
  • 寻找建设网站客户优秀的网站有哪些
  • 公司做的网站账务处理河南郑州旅游攻略必玩的景点
  • 深圳网站建设代理商做外贸用什么网站
  • 定制做网站设计幸运28网站建设
  • 上海专业的网站建设设计网站收费
  • 广州市网站建设wordpress导入网站文章
  • 如何制作网站图片佛山建设网站制作