精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Go 錯誤處理的爭論,終于有了結論!

開發 前端
實際上 Go 這一門編程語言的 Go 錯誤處理機制,一直處于用戶調查中的風頭浪尖。但是會在互聯網上發聲的僅僅是一部分人。

大家好,我是煎魚。

對于 Go 這一門編程語言,Go 核心團隊的成員自己心里也非常有數,持續最久的吐槽就是錯誤處理的冗長。

當然,從我們的角度來看,社區還存在對于 Go 錯誤處理現有機制不滿意的情況。

近期 Go 官方發表了《[ On | No ] syntactic support for error handling[1]》正式宣布對錯誤處理機制的想法和后續表態。今天分享給大家。

Go1 錯誤處理的 “冗長” 例子

Go 的 if err != nil 的最短例子如下:

x, err := call()
if err != nil {
        // handle err
}

更常見的代碼例子如下:

func printSum(a, b string) error {
    x, err := strconv.Atoi(a)
    if err != nil {
        return err
    }
    y, err := strconv.Atoi(b)
    if err != nil {
        return err
    }
    fmt.Println("result:", x + y)
    return nil
}

這個函數大概只有 10 余行,但是實際上只有 3-4 行在實際上做邏輯調用和處理,剩余的 6 行都在處理 err 變量的冗余。

這樣的冗長,就是為什么有關錯誤處理的吐槽排在每年的 Go 開發者調查報告前列的緣由。

圖片圖片

這樣一看,其實就是 Go1 自帶的錯誤處理方式和機制,就是會被一部份同學瘋狂吐槽的(也有支持的)

圖片圖片

非常見仁見智了。

Go 核心團隊的多輪嘗試

Go 核心團隊瘋狂表示多人在多年做過多輪的積極嘗試。

最早可以追溯到 2018 年,時任團隊負責人的 @Russ Cox 想將該問題的優化放進 Go2 的大籃子里一起解決了。

團隊中的 @Marcel van Lohuizen 提出了《Error Handling — Draft Design[2]》的提案,示例代碼如下:

// printSum implementation using the proposed check/handle mechanism.
func printSum(a, b string) error {
    handle err { return err }
    x := check strconv.Atoi(a)
    y := check strconv.Atoi(b)
    fmt.Println("result:", x + y)
    return nil
}

但,這被認為太復雜。又沒有辦法繼續推進。僵持住了。

隨后在 2019 年,根據新的 try 提案《Proposal: A built-in Go error check function, try[3]》又做了改善。

示例代碼如下:

// printSum implementation using the proposed try mechanism.
func printSum(a, b string) error {
    // use a defer statement to augment errors before returning
    x := try(strconv.Atoi(a))
    y := try(strconv.Atoi(b))
    fmt.Println("result:", x + y)
    return nil
}

但是由于在出現錯誤時,可能會出現在深度嵌套誘發 try,以及 try 會打亂控制流的問題。導致許多人我無法接受 try 提案。并成功被稱為:“臭名昭著”。最終被迫放棄。

又經過多年的折騰,@Ian Lance Taylor 參考 Rust 發布了新的提案《proposal: spec: reduce error handling boilerplate using ?[4]》。

示例代碼如下:

// printSum implementation using the proposed "?" statements.
func printSum(a, b string) error {
    x := strconv.Atoi(a) ?
    y := strconv.Atoi(b) ?
    fmt.Println("result:", x + y)
    return nil
}

實際上 @Ian Lance Taylor 還做了小型的用戶實操實驗,當時絕大部分參與者都能夠意識到 ? 的作用是什么。他才敢放心(有信心)繼續推進。

但是依然很不幸,這個提案依然被很多的建議和想法給淹沒。沒法得出一個最終的最優解。

由此,Go 核心團隊的 10+ 年對于錯誤處理機制探討的推進。被迫暫告一段落。甚至引發了 Go 團隊很多的 “反思”。

最終結論(階段性)

Go 核心團隊認為,其在過去那么多年,一共提出了 3 個成熟的提案和數百個社區提案。但是這些所有的提案,都未能夠得到足夠的社區支持。

最終(2025 年)Go 官方將決定停止嘗試解決錯誤處理機制的問題。給出的理由是提案流程里的:

圖片圖片

“提案流程的目標是及時就結果達成普遍共識。如果提案審查無法在問題跟蹤器上的問題討論中達成普遍共識,通常的結果就是拒絕提案?!?/p>

同時有兩個非常扎心的事實:

  • 截止至目前,沒有任何一個錯誤處理提案達成共識。全部無一例外都被拒絕了。
  • Google Go 團隊的資深成員們,也沒有達成最佳的前進共識。(沒有強而有力的共識)

說白了。就是搞不定。沒有最佳的錯誤處理方式。且消耗了太大的精力和時間,官方團隊自己也沒有達成共識。

圖片圖片

在 2025 年 6 月做出了最終的決定:“在可預見的將來,Go 語言團隊將停止針對錯誤處理的語法修改。我們還將關閉所有主要涉及錯誤處理語法的開放式提案和新提案,不再進行進一步調查。”

總結

實際上 Go 這一門編程語言的 Go 錯誤處理機制,一直處于用戶調查中的風頭浪尖。但是會在互聯網上發聲的僅僅是一部分人。

但在現實和其他沒發聲的人里,也有很多支持 Go 不需要改變語法,直接還是用現在的 if err != nil 。也是存在非常多的支持者。(這一點官方在 Google Cloud Next 2025 做了個小型聚會進行了相關討論)

從現實來講,Go 核心團隊感覺非常想找到一個完美的錯誤處理機制,但現階段來看,正因為想一碗水都端平。似乎都無法解決??赡苓€是需要當年 rsc 力推 go module 時的決心。

但很可惜,現在和社區最為親近的 ian 也已經離職了,一時半會肯定不會有所改善的了。

參考資料

[1] [ On | No ] syntactic support for error handling: https://go.dev/blog/error-syntax

[2] Error Handling — Draft Design: https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling.md

[3] Proposal: A built-in Go error check function, try: https://go.googlesource.com/proposal/+/master/design/32437-try-builtin.md

[4] proposal: spec: reduce error handling boilerplate using ?: https://github.com/golang/go/issues/71203

責任編輯:武曉燕 來源: 腦子進煎魚了
相關推薦

2014-11-17 10:05:12

Go語言

2021-04-29 09:02:44

語言Go 處理

2025-06-06 06:45:54

2022-09-05 08:55:15

Go2提案語法

2025-09-05 01:55:00

Go并發錯誤項目

2025-03-31 00:29:44

2021-09-13 07:53:31

Go錯誤處理

2021-09-27 10:04:03

Go程序處理

2023-10-26 15:49:53

Go日志

2021-09-27 23:28:29

Go多協程并發

2021-09-27 15:33:48

Go 開發技術

2020-12-17 06:25:05

Gopanic 模式

2017-09-22 15:25:40

Go語言其他語言錯誤處理

2021-04-14 07:08:14

Nodejs錯誤處理

2023-03-10 08:48:29

2024-02-28 08:54:57

switchGo錯誤

2024-03-27 08:18:02

Spring映射HTML

2013-01-22 10:54:51

HTML5App移動應用

2022-08-01 08:48:39

Go代碼接口

2022-07-13 08:53:28

函數Go語言
點贊
收藏

51CTO技術棧公眾號

一区二区三区日韩精品视频| 伊人成人在线视频| 欧美三区在线观看| 日本免费黄色小视频| 成人久久精品人妻一区二区三区| 亚洲精品人人| 中文字幕精品一区二区精品| 粗大的内捧猛烈进出视频| 蜜桃麻豆av在线| 国产精品丝袜黑色高跟| 成人av免费在线看| 色老头在线视频| 午夜欧美理论片| 亚洲视频在线播放| 日本一级大毛片a一| 日韩另类视频| 香蕉乱码成人久久天堂爱免费| 视频在线观看成人| 日本黄色大片视频| 极品尤物av久久免费看| 欧美在线视频网站| 精品人妻在线播放| 日本久久精品| 欧美不卡123| 爆乳熟妇一区二区三区霸乳| 国产区美女在线| 国产精品丝袜91| 欧美成ee人免费视频| www.天堂av.com| 久久99久久久欧美国产| 热re99久久精品国产66热| 美女福利视频在线观看| 成人av资源电影网站| 日韩电影在线观看中文字幕| 自拍视频第一页| 日韩免费大片| 精品视频一区二区三区免费| 国产精品-区区久久久狼 | 亚洲精品久久视频| 巨乳女教师的诱惑| 91精品一区| 欧美日韩免费不卡视频一区二区三区 | 天天综合天天综合| 国产成人在线视频播放| 91美女片黄在线观| 成人福利免费观看| 成年人三级黄色片| 婷婷激情一区| 一本大道综合伊人精品热热| 黄色www网站| 欧美aa在线| 精品久久香蕉国产线看观看gif| 777久久精品一区二区三区无码| 麻豆网站视频在线观看| 中文字幕在线不卡一区| 亚洲日本理论电影| av影片免费在线观看| 国产日产精品1区| 日韩欧美一区二区视频在线播放 | 青青草av在线播放| 一本色道久久| 日韩av免费在线播放| 国产污视频网站| 蜜桃一区二区三区在线| 91精品久久久久| 国产精品视频第一页| 国产乱码精品一区二区三区五月婷 | 男女啪啪999亚洲精品| 欧美日韩精品久久久| 91亚洲精品久久久蜜桃借种| 警花av一区二区三区 | 欧美zzoo| 国产精品天干天干在线综合| 无码毛片aaa在线| 青草影视电视剧免费播放在线观看| 亚洲国产视频在线| 久久综合色视频| 91福利精品在线观看| 欧美剧在线免费观看网站| aaaaaaaa毛片| 麻豆成人入口| 色七七影院综合| 欧美黄色免费看| 99国产精品99久久久久久粉嫩| 欧美一级在线亚洲天堂| 中文字幕人妻一区二区三区视频| 国产真实乱偷精品视频免| 国产经品一区二区| 高清在线观看av| 亚洲精品视频一区二区| a级黄色一级片| 日韩av黄色| 亚洲国产天堂久久国产91| 老头老太做爰xxx视频| 欧美全黄视频| 国产成人a亚洲精品| 国产绿帽一区二区三区| 91色porny蝌蚪| 中国一级大黄大黄大色毛片| 老司机深夜福利在线观看| 欧美三级韩国三级日本三斤 | 97成人在线| 在线观看亚洲区| 精品无码人妻一区二区三区品| 日韩欧美精品电影| 欧美写真视频网站| 国产在线观看免费播放| 精品视频免费| 久久久久久久久久婷婷| 中文亚洲av片在线观看| 成人av在线一区二区三区| 亚洲v欧美v另类v综合v日韩v| 欧美人与牲禽动交com | 正在播放亚洲精品| 成熟亚洲日本毛茸茸凸凹| 日韩欧美亚洲区| 超碰在线公开| 欧美一区二区三区免费视频| 日本性高潮视频| 影音先锋日韩资源| 成人免费视频97| 黄色在线播放| 精品欧美aⅴ在线网站 | 久久视频一区二区| 国产精品久久久久7777| 国产精品亚洲欧美一级在线 | 91精品国产高清一区二区三区蜜臀| 最近中文字幕免费视频| 亚洲三级色网| 高清视频一区二区三区| 自拍亚洲图区| 欧美一区二区网站| 久久99久久99精品免费看小说| 日韩精品五月天| 国产亚洲精品久久久优势| 成人免费午夜电影| 五月婷婷在线播放| 亚洲成人动漫在线观看| xxxx国产视频| 欧美不卡高清| 亚洲va欧美va国产综合久久| 日本最黄一级片免费在线| 欧美探花视频资源| 亚洲国产av一区| 视频一区在线播放| 日本高清不卡三区| 丝袜美腿一区| 一本色道久久88精品综合| 久久久久99精品成人片我成大片| av高清不卡在线| 99精品在线免费视频| 欧美aaaaaaaa牛牛影院| 91av中文字幕| 免费黄色在线视频网站| 日本韩国欧美一区二区三区| av黄色免费网站| 久久精品天堂| 亚洲一卡二卡| 国模大尺度视频一区二区| 久久精品中文字幕一区| 国产浮力第一页| 亚洲成人一二三| 国产精品探花一区二区在线观看| 亚洲一卡久久| 一区二区精品在线观看| 国产va免费精品观看精品| 九九热视频这里只有精品| 成人免费视频国产免费麻豆| 亚洲一区视频在线| jizz日本免费| 日本三级亚洲精品| 亚洲小说欧美另类激情| 欧美片网站免费| 97香蕉久久夜色精品国产| 免费理论片在线观看播放老| 欧美日韩国产美| 精品处破女学生| 国产午夜精品久久久久久免费视| 亚洲精品www.| 狠狠入ady亚洲精品| 久久综合中文色婷婷| 国产精品诱惑| 久久久久久久久久婷婷| 国产午夜视频在线观看| 日韩一区二区影院| 国产微拍精品一区| 国产精品国产三级国产aⅴ中文| 日本少妇一区二区三区| 免费视频一区| 路边理发店露脸熟妇泻火| 麻豆成人入口| 91精品在线影院| 中文字幕在线视频网站| 欧美成人精品在线播放| 免费一级在线观看| 欧美v亚洲v综合ⅴ国产v| 国产女主播喷水视频在线观看| 亚洲天堂久久久久久久| 国产国语性生话播放| 国产精品一区在线观看乱码| 国产精品wwwww| 国内综合精品午夜久久资源| 视频一区二区三区免费观看| 99re6热只有精品免费观看| 国产精品久久一区主播| 91九色在线看| 久久亚洲精品一区| 欧美日本韩国一区二区| 日韩美一区二区三区| 中文字幕欧美人妻精品| 精品日本美女福利在线观看| 看片网站在线观看| 中文av一区特黄| 男女黄床上色视频| 国产成人免费视频网站高清观看视频| 黄色免费网址大全| 国产精品老牛| 国产日韩av网站| 亚洲不卡av不卡一区二区| 欧美在线播放一区| 丝袜久久网站| 国产精品免费在线| 日韩一区二区三区高清在线观看| 国产精品女主播视频| 中文字幕资源网在线观看免费| 欧美肥老妇视频| 国产在线高潮| xx视频.9999.com| 97电影在线看视频| 亚洲图中文字幕| 男人久久精品| 亚洲精选一区二区| 青青操视频在线| 亚洲精品99999| 日韩在线观看视频一区| 精品奇米国产一区二区三区| 国产青青草视频| 欧美精品 国产精品| 伊人网中文字幕| 欧美色精品在线视频| 中文字幕网址在线| 欧美性色黄大片| 中文无码精品一区二区三区| 欧美日韩在线播放| 亚洲天堂中文在线| 欧美日本乱大交xxxxx| 97超碰人人模人人人爽人人爱| 欧美三片在线视频观看| 国产在线观看第一页| 在线观看网站黄不卡| 国产精华7777777| 欧美性高清videossexo| 日批视频免费观看| 欧美日韩亚州综合| 91 中文字幕| 91精品国产综合久久精品app| 99草在线视频| 日韩精品一区二区三区在线观看 | 国产毛片aaa| 欧美日韩性视频| 免费看污视频的网站| 欧美三级视频在线观看| 国产精品无码一区二区桃花视频| 欧美一区二区视频在线观看2020| 亚洲AV无码精品自拍| 亚洲精品国产精品国自产观看浪潮| 日韩有码电影| 色先锋资源久久综合5566| 久久久久久久久免费视频| 欧美裸体男粗大视频在线观看| 成人性生交大片免费看在线播放| 亚州成人av在线| 国产一区二区三区朝在线观看| 国产精品永久免费观看| 看亚洲a级一级毛片| 精品一区二区日本| 欧美手机视频| 一区二区三区四区免费观看| 亚洲第一精品影视| 一本久道中文无码字幕av| 狠狠色丁香久久婷婷综合_中| 91精品国产高清91久久久久久| 99国产精品久久久久| av在线免费播放网址| 亚洲成人你懂的| 中文字幕久久久久| 精品国产自在久精品国产| 日本又骚又刺激的视频在线观看| 综合网日日天干夜夜久久| 欧洲在线视频| 国产精品久久久久久久久男| 日本精品视频| 欧美在线激情| 雨宫琴音一区二区在线| 免费看污污网站| 成人免费视频播放| 成年人视频软件| 姬川优奈aav一区二区| 国产精品女同一区二区| 日韩精品极品在线观看| 精精国产xxxx视频在线| 国产97免费视| 国内视频在线精品| 永久免费精品视频网站| 国产亚洲欧洲| 男生和女生一起差差差视频| 久久综合九色欧美综合狠狠| 青青草原在线免费观看视频| 欧美亚洲综合久久| 天天操天天射天天| 美女久久久久久久久久久| 中文.日本.精品| 久久国产精品-国产精品| 综合久久婷婷| 天堂视频免费看| 久久精品人人做| 五月天综合激情网| 精品乱人伦一区二区三区| 欧洲美女少妇精品| 国产精品成人播放| 欧美人体视频| 丁香六月激情婷婷| 国产 欧美在线| 九九视频在线观看| 日韩视频不卡中文| 黄色成人在线观看| 国产欧美一区二区三区在线看| 久久99高清| 欧美日韩亚洲第一| aaa欧美色吧激情视频| 免费无码毛片一区二区app| 欧美二区三区的天堂| shkd中文字幕久久在线观看| 日韩美女视频在线观看| 色狼人综合干| 欧美色图另类小说| 99久久精品国产网站| 天堂资源在线播放| 亚洲大胆人体av| 91豆花视频在线播放| 国产精品视频免费一区二区三区| 欧美特黄一区| 国产精品嫩草69影院| 亚洲综合免费观看高清完整版| 亚洲黄色在线播放| 欧美乱大交xxxxx| 中文字幕日韩高清在线| h无码动漫在线观看| 成人久久久精品乱码一区二区三区| 九九热视频精品| 亚洲国产精品嫩草影院久久| av资源网在线播放| 欧美xxxx黑人又粗又长密月| 欧美亚洲三级| 日韩毛片无码永久免费看| 欧美视频自拍偷拍| 日本成人在线播放| 91欧美精品成人综合在线观看| 亚洲成人精选| 理论片大全免费理伦片| 五月婷婷激情综合网| 暖暖视频在线免费观看| 国产精品久久久久久av福利| 国产高清欧美| 在线播放av网址| 欧美日韩亚洲一区二区| 成人精品一区二区| 成人在线激情视频| 亚洲私拍自拍| 成人网站免费观看| 欧美视频一区二区三区在线观看| 欧美性猛交xxx乱大交3蜜桃| 91亚色免费| 噜噜爱69成人精品| 日本成人精品视频| 精品欧美久久久| 暖暖成人免费视频| 免费看av软件| bt欧美亚洲午夜电影天堂| 五月婷婷六月婷婷| 蜜月aⅴ免费一区二区三区| 久久黄色影视| 国产九九在线观看| 亚洲一区二区三区自拍| 国产系列电影在线播放网址| 亚洲已满18点击进入在线看片 | 欧美精品第三页| 亚洲欧美色综合| 四虎在线免费看| 亚洲aa在线观看| 久久精品欧洲| 久草免费新视频| 中文国产成人精品| 国产精品2023| 不卡的在线视频| 欧美小视频在线观看| 伊人电影在线观看| 日韩电影免费观看在| 成人动漫视频在线| 伊人影院中文字幕|