Go-知识error在Go 1.13 之前长达10余年的时间里,标准库对error的支持非常有限,仅有errors.New和fmt.Errorf 两个函数用来构造error实例。然而Go语言仅提供了error的内置接口定义(type error interface), 这样开发者可以定义任何类型的error,并可以存储任意的内容。 在Go 1.13 之前,已经有很多开源项目试图扩展标准库的error以满足实际项目的需要,比如pkg/errors,该项目被大量应用于诸如 Kubernates这样的大型项目中。 Go 1.13