go中“哨兵错误”的由来及使用建议

news2025/3/3 19:02:46

“哨兵错误(sentinel error)”这个词的出处。之前我也只是在一些书籍和资料中见到过,也没深究。当这个网友问了我之后,就深入的翻了翻资料,在golang的官方博客中找到了这个词的提法,也算是比较官方的了吧。如下:go.dev/blog/go1.13…
在这里插入图片描述

因为在golang中错误也被当做值来处理的。所以是叫做错误的哨兵值,也就是大家常看到的哨兵错误。

哨兵错误注意事项

在go的官方博客中也提到,哨兵错误是包级别的,可以用于在包外进行错误值的判断。如下:
在这里插入图片描述

但是,这样会造成包和包之间的依赖。如果哨兵错误做了修改,那么之前依赖该错误的所有包都需要更改。
但在go1.13版本之后,增加了errors.Is方法。那么就建议,如果一个函数的返回值是哨兵错误,那么应该对该哨兵错误进行包装后再返回。同时,在调用方使用errors.Is函数来判断是否是某个具体的哨兵错误。如下:
在这里插入图片描述

总结

本文追溯了“哨兵错误”概念的提出来源,算是比较官方的。同时介绍了函数返回哨兵错误时需要包装后再返回。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1157802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公众号快速配置AI智能问答,在公众号集成类似ChatGPT的AI聊天机器人

目录 前言 一、使用步骤 1、助手体验 2、助手训练 2、公众号集成 前言 今天无意间发现一个名为“天书AI”的产品,是一款AI知识库产品,可以集成在微信公众号消息接口中。可以将公众号基于自己的知识内容升级为智能问答工具,提供类似ChatGPT的…

苹果相机怎么磨皮 苹果手机怎么磨皮

相信使用苹果相机的小伙伴都有这样的疑惑,苹果相机怎么磨皮?其实可以通过相机的参数进行设置从而达到磨皮的效果,如果觉得相机自带的设置磨皮效果不够好,可以下载磨皮软件来对照片磨皮。今天的文章就来给大家介绍苹果相机怎么磨皮…

MetaAI提出全新验证链框架CoVE,大模型也可以通过“三省吾身”来缓解幻觉现象

​ 论文名称: Chain-of-Verification Reduces Hallucination in Large Language Models 论文链接: https://arxiv.org/abs/2309.11495 曾子曰:“吾日三省吾身” --出自《论语学而》 时至今日,生成幻觉(hallucination&…

LeetCode刷题---合并两个有序数组

该题用到了归并排序,正常的归并排序算法是两个数组依次比对元素大小,最后按照要求将比对结果放入新的数组中,但是此题题目中要求将结果放入第一个数组中。 解题思路:可以定义两个指针,分别指向两个数组中的有效元素的最后一个元素…

什么是TCP三次握手和四次挥手?

三次握手是建立TCP连接时使用的一种协议。它确保了通信双方可以建立可靠的连接。大致流程如下: 第一次握手(SYN):客户端发送一个带有SYN标志的请求连接(SYN包)给服务器,并指明客户端的初始序列号…

跨境电商大作战:2023黑色星期五准备指南

黑色星期五,作为全球购物狂欢的象征,已经成为了电商业务的一年一度的重要节点。尤其对于跨境电商来说,这一天意味着巨大的商机和挑战。为了在这个竞争激烈的时刻脱颖而出,跨境电商必须做好充分的准备。Nox聚星在这里给大家分享几个…

电平信号、脉冲信号

简单来说,电平信号是表示某种特定状态的信号,而脉冲信号则是用来进行状态转移或者激发操作的信号 一、电平:数字电路的输入输出端某一时刻电压的高低,高低电平是相对的、人为的,例如可以规定低电平为0V,相…

Microsoft Edge不能工作了,可能原因不少,那么如何修复呢

Microsoft Edge打不开或不能加载网页是用户在Windows 10、Android、Mac和iOS设备上的网络浏览器上遇到的许多错误之一。其他Microsoft Edge问题可能包括浏览器窗口和选项卡冻结、网站崩溃、互联网连接错误消息以及丢失Microsoft Edge书签、收藏夹、密码和收藏。 Microsoft Edg…

【广州华锐互动】3D初中化学线上实验室定制开发

在科学的世界中,理论和实践一直起着至关重要的作用。然而,传统的化学实验通常需要复杂的设备和昂贵的材料,这在一定程度上限制了学生的实验能力和科学探索的热情。在这种背景下,3D初中化学线上实验室应运而生,它使用计…

基于51单片机篮球计时器计分器设计(源码+原理图+PCB+仿真+设计报告+讲解视频)

# 基于51单片机篮球计分器proteus仿真 51单片机篮球计分器proteus仿真(源码原理图PCB仿真设计报告讲解视频) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号C0004 51单片机篮球计分器 讲解视频1…

数据结构学习笔记——链式表示中的双链表及循环单/双链表

一、双链表 (一)双链表的定义 双链表是在单链表结点上增添了一个指针域prior,指针域prior指向当前结点的前驱结点,即此时链表的每个结点中都有两个指针域prior和next,从而可以很容易通过后继结点找到前驱结点&#x…

win11 以太网和WLAN冲突 连接网线时导致WiFi掉线 解决

由于特殊情况,电脑需要同时连接网线和WiFi。 网线(以太网卡)是一个网段。WiFi(WLAN无线网卡)是另一个网段。 目的是让电脑同时连接两种网段的网络。 出现问题:当已经连接WiFi时,再插入网线&a…

闪站侠洗衣洗鞋店专用管理软件,支持APP扫码洗衣、洗鞋、收衣、出入库、收衣拍照、手机报表、线上会员等功能。

闪站侠洗衣洗鞋店专用管理软件,支持APP扫码洗衣、洗鞋、收衣、出入库、收衣拍照、手机报表、线上会员等功能。它直观管理库存,快速整理数据,一站式全方位提升洗衣效率!洗衣洗鞋店管理软件精选商品,热卖材质&#xff0c…

基于联合表示学习、用户聚类和模型自适应的个性化联合推荐

[Personalized Federated Recommendation via Joint Representation Learning, User Clustering, and Model Adaptation] (https://dl.acm.org/doi/abs/10.1145/3511808.3557668) CIKM2022(CCF-B) 论文精读 文章主要创新点(消融实验分析的三个点): 联合表示学习 …

数据结构(超详细讲解!!)第十八节 串(堆串)

1.定义 假设以一维数组heap [MAXSIZE] 表示可供字符串进行动态分配的存储空间,并设 int start 指向heap 中未分配区域的开始地址(初始化时start 0) 。在程序执行过程中,当生成一个新串时,就从start指示的位置起&#…

电脑上数据恢复的详细操作

在日常使用电脑过程中,我们可能会遇到数据丢失的情况。无论是因为误删除、格式化、病毒攻击还是硬件故障,数据恢复都是我们迫切需要解决的问题。本文将介绍电脑数据恢复的详细操作步骤,帮助读者在面临数据丢失时能够迅速地恢复重要文件。 一…

将WebP转换为GIF的各种图像转换器,当然是免费的方式

第 1 部分。什么是 WebP Web 图片格式 (WebP) 是一种图像格式,可为网站上的照片提供卓越的无损压缩。该网站将使用这种格式运行得更快,创建更小、更丰富的图像。此格式比 PNG 图像小 26%,比 JPEG 图像小 25-24%。这样一来,它使网站…

为什么说MES生产管理系统很难做到标准化

随着数字化时代的来临,企业运营方式的转型已成为一种必然趋势。在这种背景下,MES生产管理系统作为一种车间执行层面的管理系统,逐渐受到了广大企业的关注和应用。不过,在实施MES管理系统的推广和实践过程中,也面临着诸…

暴涨3倍!通过受感染 USB 窃密的事件愈发变多

2023 年上半年,Mandiant 观察到使用受感染 USB 驱动器窃取机密数据的事件至少增加了3倍。此前,Mandiant 披露了在菲律宾的一次攻击行动。本文将会介绍研究人员发现的两外两次基于 USB 驱动器的网络间谍行动。 CSDN大礼包:《黑客&网络安全…

损失函数(Loss Function)一文详解-回归问题常见损失函数Python代码实现+计算原理解析

前言 损失函数无疑是机器学习和深度学习效果验证的核心检验功能,用于评估模型预测值与实际值之间的差异。我们学习机器学习和深度学习或多或少都接触到了损失函数,但是我们缺少细致的对损失函数进行分类,或者系统的学习损失函数在不同的算法…