成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go中“哨兵錯誤”說法的由來及使用建議

開發(fā) 前端
本文追溯了“哨兵錯誤”概念的提出來源,算是比較官方的。同時介紹了函數(shù)返回哨兵錯誤時需要包裝后再返回。

大家好,我是漁夫子。

前些天有網(wǎng)友問我,在golang的錯誤處理中,“哨兵錯誤(sentinel error)”這個詞的出處。之前我也只是在一些書籍和資料中見到過,也沒深究。當(dāng)這個網(wǎng)友問了我之后,就深入的翻了翻資料,在golang的官方博客中找到了這個詞的提法,也算是比較官方的了吧。如下:https://go.dev/blog/go1.13-errors

圖片圖片

因為在golang中錯誤也被當(dāng)做值來處理的。所以是叫做錯誤的哨兵值,也就是大家常看到的哨兵錯誤。

哨兵錯誤注意事項

在go的官方博客中也提到,哨兵錯誤是包級別的,可以用于在包外進(jìn)行錯誤值的判斷。如下:

圖片圖片

但是,這樣會造成包和包之間的依賴。如果哨兵錯誤做了修改,那么之前依賴該錯誤的所有包都需要更改。

但在go1.13版本之后,增加了errors.Is方法。那么就建議,如果一個函數(shù)的返回值是哨兵錯誤,那么應(yīng)該對該哨兵錯誤進(jìn)行包裝后再返回。同時,在調(diào)用方使用errors.Is函數(shù)來判斷是否是某個具體的哨兵錯誤。如下:

圖片圖片

總結(jié)

本文追溯了“哨兵錯誤”概念的提出來源,算是比較官方的。同時介紹了函數(shù)返回哨兵錯誤時需要包裝后再返回。


責(zé)任編輯:武曉燕 來源: Go學(xué)堂
相關(guān)推薦

2021-09-27 10:04:03

Go程序處理

2021-09-27 15:33:48

Go 開發(fā)技術(shù)

2018-03-23 09:00:00

開源ArduinoDebian

2010-12-09 10:20:59

2024-08-19 01:10:00

RedisGo代碼

2023-12-27 08:12:04

切片Go語言

2010-03-22 16:18:44

2018-05-28 22:44:17

代碼腐化程序員

2010-08-06 13:53:12

RIP協(xié)議

2009-07-20 15:39:32

ASP.NET緩存

2023-10-26 15:49:53

Go日志

2011-03-22 14:58:08

Nagios

2009-08-18 10:48:25

C#事件

2010-07-02 12:02:11

eMule協(xié)議

2010-07-05 10:38:49

網(wǎng)絡(luò)層次協(xié)議

2014-11-17 10:05:12

Go語言

2021-04-29 09:02:44

語言Go 處理

2025-03-31 08:00:00

Django開發(fā)Python

2023-10-26 12:05:14

Golang開發(fā)

2023-02-15 11:58:29

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲免费精品 | 久久99精品久久久久久 | 久久久久国产精品一区二区 | 在线观看成人小视频 | 欧美三级电影在线播放 | 成人免费区一区二区三区 | 欧美日韩国产传媒 | 91精品久久久久久久久久 | 欧美日韩精品一区二区三区蜜桃 | 成年人精品视频在线观看 | 欧美乱码精品一区二区三区 | h免费观看 | 成年女人免费v片 | 91亚洲国产 | 狠狠干网 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 久久精品国产精品青草 | 男人的天堂久久 | 性视频一区| 日本激情视频中文字幕 | 国产精品成人一区二区三区 | 国产在线一区二区 | 中文在线一区二区 | 亚洲视频在线看 | 久久一热 | www.天天操| 色视频网站免费 | 亚洲午夜视频在线观看 | 久久久免费精品 | 久久成人在线视频 | 欧美大片一区 | 久久精品国产99国产精品亚洲 | 色婷婷av一区二区三区软件 | 国产成人91视频 | 日韩二区| 黄色91在线| 成人深夜福利 | 9191在线观看 | 久久中文字幕一区 | 国产日韩一区二区三免费 | 91成人|