本文共 845 字,大约阅读时间需要 2 分钟。
目录
errors.New()函数根据传入的字符串返回一个error类型。
需导入Go原生包errors
import errors
函数签名:
func New(text string) error
名称 | 含义 |
text | 描述错误信息的字符串 |
errors.New()函数返回一个error类型。
如下面的代码所示,定义一个函数divsion,若number2为0,则返回一个error,表示除数为0。
func division(number1, number2 int) (float64, error) { if number2 == 0 { return 0.0, errors.New("division by zero") } return float64(number1) / float64(number2), nil}
即便文本相同,每次调用errors.New()函数都会返回一个不同的错误值。因此不能直接拿error类型做比较。
package mainimport ( "errors" "fmt")func main() { err1 := errors.New("division by zero") err2 := errors.New("division by zero") err3 := errors.New("unknown error") fmt.Println(err1 == err2) // false fmt.Println(err1 == err3) // false fmt.Println(err1.Error() == err2.Error()) // true fmt.Println(err1.Error() == err3.Error()) // false}
错误字符串不应该大写或以标点符号结尾。不过就算违背这条规范将字符串传入,Go也不会报错。
转载地址:http://acsoi.baihongyu.com/