0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Go 1.20将支持wrapping multiple errors

OSC开源社区 ? 来源:OSC开源社区 ? 作者:OSC开源社区 ? 2022-12-05 09:19 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Go 近日接受了名为「add support for wrapping multiple errors」的提案。 该项提案对错误处理进行了优化,与 Go 1.13 为错误处理提供的新功能有关:Error Wrapping。引入 Error Wrapping 后,Go 同时为errors包添加了 3 个工具函数,分别是Unwrap、Is和As。 对于「add support for wrapping multiple errors」提案,顾名思义就是一个错误可以包裹多个错误。

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


目前该提案已被接受,作者表示将在 Go 1.20 中提供:


b92b300c-73d6-11ed-8abf-dac502259ad0.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4388

    浏览量

    65296

原文标题:Go 1.20将支持wrapping multiple errors

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    有没有办法使用 CY7110 EZ-PD PMG1 读取 PD 源的TESTBOARD_150PC_OUT所有POWER_DRILL2GO配置文件?

    有没有办法使用 CY7110 EZ-PD PMG1 读取 PD 源的TESTBOARD_150PC_OUT所有POWER_DRILL2GO配置文件? 如果有一种方法可以
    发表于 05-26 08:11

    一个带有CYPD3177的自定义COOLDIM_PRG_BOARD,当它翻转时,则没有POWER_DRILL2GO,为什么?

    我有一个带有 CYPD3177 的自定义COOLDIM_PRG_BOARD 。 当插入时,它仅从POWER_DRILL2GO电源接收POWER_DRILL2GO信号,并且 USB 电缆处于一个方向
    发表于 05-26 07:24

    通过XRES引脚POWER_DRILL2GO保持ic复位是否会降低ic的最终输出?

    我正在使用 CYPAS111A1 PAG1S 设计 65W USB C 型充电器。 我想通过控制器切断 USB 输出。 通过 XRES 引脚POWER_DRILL2GO保持 ic 复位是否会降低 ic 的最终输出? 请予以支持
    发表于 05-26 06:44

    如果 PD 合约不匹配,BCR 是否仍会打开 SINK_FET_EN POWER_DRILL2GO路径?

    BCR 具有 SINK_FET_EN 和 SAFE_PWR_EN 引脚来控制POWER_DRILL2GO消耗路径。 如果 PD 合约不匹配,BCR 是否仍会打开 SINK_FET_EN POWER_DRILL2GO路径?或者只打开 SAFE_PWR_EN POWER_DR
    发表于 05-23 08:01

    如何CCG3上的“启用固件更新”部分设置为“是”?

    /Common-Errors-while-Programming-CCG3PA-usi... 如果我遇到这种情况,我应该“启用固件更新”部分设置为“是”。 但是 CCG3 配置表没有“启用固件更新”部分。 我应该如何 CCG
    发表于 05-12 07:52

    从 Java 到 Go:面向对象的巨人与云原生的轻骑兵

    Go 语言在 2009 年被 Google 推出,在创建之初便明确提出了“少即是多(Less is more)”的设计原则,强调“以工程效率为核心,用极简规则解决复杂问题”。它与 Java 语言生态
    的头像 发表于 04-25 11:13 ?300次阅读

    43KB-10系列固定衰减器Anritsu

    GHz或40 GHz的频率范围。 低驻波比(SWR):典型值在1.15:1到1.50:1之间。 高精度衰减:衰减精度在±0.5 dB到±0.9 dB之间。 兼容性:支持SMA和3.5毫米连接器
    发表于 03-11 09:40

    DLPC300使用Multiple Bit Depth and Multiple Color Pattern Sequences功能的疑问求解

    没有TMS320DM365。我想实现 Multiple Bit Depth and Multiple Color Pattern Sequences的功能。我看了TI官方提供的操作方法是使用 DLP
    发表于 02-20 07:17

    AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

    AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
    的头像 发表于 02-05 16:01 ?668次阅读
    AMAZINGIC晶焱科技技术应用:典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.

    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To Go.
    的头像 发表于 01-22 17:23 ?655次阅读
    典范转移 EV全生态系商机 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

    影目科技发布全球首款同传翻译眼镜INMO GO2

    近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。
    的头像 发表于 12-11 10:00 ?1333次阅读

    在学习go语言的过程踩过的坑

    作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go语言的过程中也学习并总结了一些相关的东西,这篇文章就分享下自己踩过的一
    的头像 发表于 11-11 09:22 ?529次阅读

    go语言如何解决并发问题

    作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分,开发速度真的是比
    的头像 发表于 10-23 13:38 ?576次阅读
    <b class='flag-5'>go</b>语言如何解决并发问题

    微软Copilot Studio支持企业创建自主AI代理

    ,目前已有60%的美国财富500强企业正在使用其Copilot工具。随着自主AI代理的推出,这些企业迎来更加灵活和高效的业务转型机遇。这些代理能够基于企业自身的记录和数据进行训练,从而提供更加精准和个性化的支持。 自主AI代理的引入,
    的头像 发表于 10-23 11:44 ?697次阅读

    【米尔NXP i.MX 93开发板试用评测】4、使用golang搭建Modbus 服务器

    /go1.23.1.linux-arm64.tar.gz 然后安装到板子上,使用以下的命令golang程序安装到.bin目录里。 mkdir .bin tar -C .bin/ -xzf
    发表于 09-21 22:51