error接口和errors包

error接口:
error只是一个接口类型

type error interface {
    Error() string
}

构造error最简单的方法是调用errors.New,它会返回一个包含指定错误消息的新error实例:

err := errors.New("EOF")

但更常用是使用fmt.Errorf,它还额外提供字符串格式化功能。

errors包:

package errors

func New(text string) error { return &errorString{text} }

type errorString struct { s string }

func (e *errorString) Error() string { return e.s }  //满足error接口的是*errorString指针

其他包中也有其他类型满足error接口,例如syscall包中的Errno类型。

猜你喜欢

转载自blog.csdn.net/weixin_42506905/article/details/81408576