卷起来,老程序员也得了解 errors 包的新变化

鸟窝 at 
Go 1.13 中 errors 包有了一些变化,这些变化是为了更好地支持 Go 的错误处理提案。Go 1.20 中也增加了一个新方法,这个新方法可以代替第三方的库处理多个 error,这篇文章将介绍这些变化。因为原来的 Go 的 errors 中的内容非常的简单,可能会导致大家轻视这个包,对于新的变化不是那么的关注。让我们一一介绍这些新的方法。Unwrap 如果一个 err 实现了 Unwrap 函数,那么 errors.Unwrap 会返回这个 err 的 unwrap 方法的结果,否则返回 nil。一般标准的 error 都没有实现 Unwrap 方法,比如 io.EOF, 但是也有一小……