Golang漂亮的错误处理规范也是Go语言的最大亮点之一。
error接口
标准库把error定义为接口类型, 以便于自己定义错误类型
type error interface{
Error() string
}
error的使用也比较简单
// error对象的两种创建方式
// 1.使用fmt.Errorf
//var err1 error = fmt.Errorf("%s", "this is normal error")
err1 := fmt.Errorf("%s", "this is normal error")
fmt.Println("err1 = ", err1)
// 2. 使用errors.New()创建
err2 := errors.New("this is normal error2")
fmt.Println("err2 = ", err2)
再看看error的基本使用。
对于大多数函数,如果要返回错误,大致都可以定义为如下模式,将error作为返回值的最后一个,但这并非是强制要求的:
func Foo (param int) (n int, err error) {
//...