Go 1.20将支持wrapping multiple errors
errors
包添加了 3 个工具函数,分别是Unwrap
、Is
和As
。Unwrap() []error
Unwrap
避免了与现有 Unwrap 方法产生歧义,从 Unwrap
中返回一个长度为 0 的列表意味着错误没有包裹任何内容。调用方不得修改由 Unwrap
返回的列表,Unwrap
返回的列表不得包含任何 nil
错误。errors.Is
和 errors.As
函数进行了更新,实现对 multiple errors 进行 Unwrap
操作。errors.Join
函数提供了 multierr 的简单实现:// Join returns an error that wraps the given errors.
// Any nil error values are discarded.
// The error formats as the text of the given errors, separated by newlines.
// Join returns nil if errs contains no non-nil values.
func Join(errs ...error) error
点击下方小程序
抽开源中国周边啦~
往期推荐
Forest + IDEA = 双倍快乐! ForestX 隆重登场
Linus强势催更
“俄罗斯的谷歌”弃俄
点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦~
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章