hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

golang中建立毛病的要领_后端开发

2019-12-08后端开发ki4网26°c
A+ A-

在本教程中,我们会进修怎样建立我们本身的自定义毛病,并在我们建立的函数和包中运用它。我们会运用与规范库中雷同的手艺,来供应自定义毛病的更多细节信息。

运用 New 函数建立自定义毛病

建立自定义毛病最简朴的要领是运用 errors 包中的 New 函数。

在运用 New 函数 建立自定义毛病之前,我们先来看看 New 是怎样完成的。以下所示,是 errors 包 中的 New 函数的完成。

// Package errors implements functions to manipulate errors.
package errors
// New returns an error that formats as the given text.
func New(text string) error {
    return &errorString{text}
}
// errorString is a trivial implementation of error.
type errorString struct {
    s string
}
func (e *errorString) Error() string {
    return e.s
}

New 函数的完成很简朴。errorString 是一个构造体范例,只要一个字符串字段 s。第 14 行运用了 errorString 指针接受者(Pointer Receiver),来完成 error 接口的 Error() string 要领。

第 5 行的 New 函数有一个字符串参数,经由过程这个参数建立了 errorString 范例的变量,并返回了它的地点。因而它就建立并返回了一个新的毛病。

如今我们已知道了 New 函数是怎样事情的,我们入手下手在顺序里运用 New 来建立自定义毛病吧。

我们将建立一个盘算圆半径的简朴顺序,假如半径为负,它会返回一个毛病。

package main
import (  
    "errors"
    "fmt"
    "math"
)
func circleArea(radius float64) (float64, error) {  
    if radius < 0 {
        return 0, errors.New("Area calculation failed, radius is less than zero")
    }
    return math.Pi * radius * radius, nil
}
func main() {  
    radius := -20.0
    area, err := circleArea(radius)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("Area of circle %0.2f", area)
}

在 glayground 上运转

在上面的顺序中,我们搜检半径是不是小于零(第 10 行)。假如半径小于零,我们会返回即是 0 的面积,以及响应的毛病信息。假如半径大于零,则会盘算出面积,并返回值为 nil 的毛病(第 13 行)。

在 main 函数里,我们在第 19 行搜检毛病是不是即是 nil。假如不是 nil,我们会打印出毛病并返回,不然我们会打印出圆的面积。

在我们的顺序中,半径小于零,因而打印出:

Area calculation failed, radius is less than zero

引荐:go言语教程

以上就是golang中建立毛病的要领的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
golang中建立毛病的要领_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>