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

Go 官方宣布不再改進錯誤處理語法,背后原因是什么?

開發 前端
盡管 Go? 團隊明確表示不會再推進錯誤處理的語法層改動,但這并不意味著錯誤處理的優化空間已經封閉。通過標準庫的增強、工具鏈的改進以及更注重錯誤處理的上下文信息,開發者仍然可以在保持語言一致性的前提下,提升代碼的可讀性和開發效率。

前言

“Go 的錯誤處理寫起來太繁復了?!?nbsp;—— 這是幾乎每個 Go 程序員都認可的一個觀點。

而就在最近,Go 官方發布了一篇博客文章,正式宣布:他們不會再推進任何新的錯誤處理語法提案。這也意味著,未來編寫 Go 代碼時,你依然會頻繁地寫下那句熟悉的 if err != nil { return err }。

這不僅是對一次語法糖提案的終結,更是對整個語言哲學的再確認。那么,Go 團隊為什么做出這樣的決定?我們又該如何看待這份執著?

準備好了嗎?準備一杯你最喜歡的咖啡或茶,隨著本文一探究竟吧。

三次嘗試,三次失?。篏o 錯誤處理語法的探索之路

過去七年,Go 團隊三次嘗試通過引入新語法機制,解決錯誤處理的 “重復編寫” 問題,但最終都未能落地。

第一次:2018 年的 check / handle 提案

這次提案源自 Go 2 草案,是一套完整的語法變更,目標是引入:

  • check() 用于捕獲函數調用中的 error;
  • handle 塊用于統一處理這些錯誤。
func printSum(a, b string) error {
    handle err { return err }         // 所有 check 失敗都跳進這里
    x := check(strconv.Atoi(a))
    y := check(strconv.Atoi(b))
    fmt.Println("result:", x + y)
    return nil
}
  • ?? 優點:結構清晰、統一管理錯誤路徑。
  • ?? 缺點:引入新語法塊,語言學習曲線陡增,語義復雜度高,引發廣泛爭議。

最終,Go 團隊認為這套機制 太復雜了,沒能走出草案階段。

第二次:2019 年的 try() 提案

借鑒第一輪經驗,Go 團隊提出了一個更輕量的版本:try() 函數。

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

本質上等價于:

x, err := strconv.Atoi(a)
if err != nil {
    return err
}
  • ?? 優點:簡單、清晰,不引入語法塊,只是一個內置函數。
  • ?? 缺點:自動 return 掩蓋控制流,不符合 Go 一貫強調的 “顯式可讀”。調試困難、理解成本高。

最終,該提案因社區反對聲音過大,被正式放棄。

第三次:2024 年的 ? 操作符提案

這一次,Go 團隊轉向更具現實基礎的設計:參考 Rust 的 ?,引入錯誤處理的后綴語法糖:

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

遺憾的是,與其他錯誤處理方案一樣,該提案也迅速被各種評論和眾多基于個人偏好的細微調整建議所淹沒。

最后的決定:不再推進語法層的改變

三次努力,都未能獲得廣泛共識。2025 年 6 月,Go 團隊在官方博客中正式宣布:

For the foreseeable future, the Go team will stop pursuing syntactic language changes for error handling. We will also close all open and incoming proposals that concern themselves primarily with the syntax of error handling, without further investigation.

英譯中如下:

在可預見的未來,Go 團隊將不再推進錯誤處理的語法改動。我們也將關閉所有當前或未來主要涉及語法層面的錯誤處理提案,不再進一步研究。

這個決定并非技術上沒有方案,而是出于共識缺失、成本評估、語言哲學 等多重考量。

它既是一次 現實主義的收場,也是一次對 Go 語言設計初心的堅持。

為什么 Go 團隊堅持不改?兩大核心原因解析

Go 團隊并不是不知道錯誤處理 “寫起來很重復”,甚至也不是找不到更簡潔的語法。過去七年里,他們三次親自推動提案,最后又三次親自按下終止鍵。這不是技術做不到,而是價值判斷的問題。

我們可以從兩個維度,理解 Go 團隊為什么最終選擇“不改”。

1. 沒有形成“壓倒性共識”

Go 團隊一再強調,“我們并不只是尋找一個可以工作的方案,而是一個 足夠多人愿意接受并使用的方案 ”。

但現實是:每一次提案都會引發大量 “我想要的不是這個” 的聲音——

  • 有人覺得 check/handle 太復雜;
  • 有人認為 try() 太自動;
  • 也有人覺得 ? 符號雖然直觀,但語義仍不夠清晰。

每一次語法糖的背后,都伴隨著風格沖突、哲學分歧和無休止的 bikeshedding(無謂爭論)。Go 團隊明確指出:

“即使是我們目前看到的最佳提案,也都無法獲得壓倒性支持?!?/p>

Go 的設計哲學一直非?,F實主義:沒有共識,就不做。

2. 技術收益與代價不成正比

每一個提案背后,Go 團隊都做了原型工具鏈支持(包括編譯器、文檔、工具鏈等),但他們發現:

  • 盡管語法看起來簡潔了;
  • 寫代碼 可能節省幾行,
  • 但 閱讀和理解的成本 卻沒有等量下降。

比如:

x := strconv.Atoi(a)?

這行代碼的確省略了 if 語句,但程序的控制流變得不再顯式,錯誤是如何返回的、被誰處理的,變成了語言隱含邏輯的一部分。Go 團隊擔心:

“語言層的魔法越多,用戶調試、閱讀、定位問題的成本就越高。”

在他們看來,Go 的優勢從來不是寫得最少,而是 看得懂、調得順、跑得穩。

后續方向:語法不變,但體驗可改

雖然 Go 團隊明確表示不會再推進錯誤處理的語法層變更,但這并不代表錯誤處理就此 “封印”。相反,改善開發體驗的空間仍然廣闊,文章中就提到了幾個重要方向:

借助庫函數減少重復代碼

Go 官方明確支持 通過標準庫增強功能,來降低錯誤處理中的重復編寫。例如:

x, err1 := strconv.Atoi(a)
y, err2 := strconv.Atoi(b)
if err := cmp.Or(err1, err2); err != nil {
    return err
}

這里使用 cmp.Or 來統一處理多個 error,減少重復判斷。這種方式保持了 Go 的語法一致性,又提升了可讀性。

強化 IDE 和工具鏈支持

博客中提出了一個很現實的方向:讓 IDE 更聰明地“隱藏冗余”。

現代 IDE(特別是配合 LLM 的智能補全)已經可以極大地簡化 err != nil 這類重復代碼的編寫,而未來的可能性還包括:

  • ?? 在 IDE 中添加“隱藏 error 處理語句”的開關;
  • ?? 僅在需要時展開 if err != nil 語句塊,提升閱讀流暢度;
  • ?? 讓 AI 幫助我們自動生成更具上下文的錯誤信息。

這種方式不會改變語言本身,卻可能實實在在提升編寫和閱讀 Go 代碼的效率。

聚焦于錯誤處理

回到實際的錯誤處理代碼,如果我們聚焦于錯誤處理,而不是只是返回錯誤,冗長的代碼就變得無關緊要了。良好的錯誤處理通常需要在錯誤中添加額外的信息。例如,用戶調查中反復出現的評論是關于缺少與錯誤相關的堆棧跟蹤。這可以通過生成并返回增強錯誤的支持函數來解決,例如:

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

小結

盡管 Go 團隊明確表示不會再推進錯誤處理的語法層改動,但這并不意味著錯誤處理的優化空間已經封閉。通過標準庫的增強、工具鏈的改進以及更注重錯誤處理的上下文信息,開發者仍然可以在保持語言一致性的前提下,提升代碼的可讀性和開發效率。這一決定不僅體現了 Go 語言對顯式性和簡單性的堅持,也為未來的工具生態和開發體驗優化留下了更多可能性。

責任編輯:武曉燕 來源: 程序員陳明勇
相關推薦

2025-02-24 09:30:15

2014-11-17 10:05:12

Go語言

2021-04-29 09:02:44

語言Go 處理

2023-03-10 08:48:29

2023-09-20 11:36:47

Java 8Java 11

2020-08-21 09:44:48

Python開發工具

2010-07-12 14:29:09

2025-06-06 06:45:54

2021-09-13 07:53:31

Go錯誤處理

2025-03-31 00:29:44

2022-09-05 08:55:15

Go2提案語法

2025-09-05 01:55:00

Go并發錯誤項目

2025-06-30 09:49:11

2024-03-27 08:18:02

Spring映射HTML

2023-03-07 21:43:29

Java多重繼承

2021-12-09 17:14:05

戴爾

2016-09-29 15:03:24

谷歌光纖

2011-12-01 13:37:56

.NET

2021-09-27 15:33:48

Go 開發技術

2021-09-27 23:28:29

Go多協程并發
點贊
收藏

51CTO技術棧公眾號

视频在线不卡免费观看| 在线手机中文字幕| 国产不卡在线一区| 91国产精品91| 亚洲精品视频网址| 91精品网站在线观看| 亚洲精品第1页| 91久久极品少妇xxxxⅹ软件| 国产在线视频二区| 亚洲大片精品免费| 欧美裸体一区二区三区| 美女av免费观看| 国产美女明星三级做爰| 极品裸体白嫩激情啪啪国产精品| 亚洲国内精品在线| 污污网站免费看| 91超碰免费在线| 久久久精品国产免费观看同学| 国产一区二区丝袜| 日本免费在线播放| 日韩啪啪电影网| 日韩一区二区三区视频| 国产99久久九九精品无码| 最近高清中文在线字幕在线观看| 国产精品538一区二区在线| 97人人做人人爱| 黑人狂躁日本娇小| 欧美理论电影在线精品| 欧美女孩性生活视频| av在线com| 麻豆免费在线观看| 国产偷国产偷亚洲高清人白洁 | 久久久久久欧美精品se一二三四| 欧美黑人巨大videos精品| 欧美日本乱大交xxxxx| 欧美日韩二三区| 中文在线手机av| 91小视频在线观看| av资源站久久亚洲| 亚洲天堂网在线视频| 国产日韩欧美高清免费| 欧美日本高清一区| 日韩在线一卡二卡| 国产乱码精品一区二区亚洲 | 午夜片欧美伦| 中文字幕在线成人| 免费看污片网站| 国产美女撒尿一区二区| 日韩一区二区三区视频在线观看| 国内外成人免费在线视频| 午夜影视一区二区三区| 午夜精品福利视频网站| 国产情侣第一页| 爆操欧美美女| 最新日韩在线视频| 在线观看免费91| 欧美jizzhd69巨大| 中文字幕制服丝袜成人av| 五月天亚洲综合小说网| 国产资源在线观看| 久久久久久久久久美女| 欧美lavv| 都市激情一区| 国产女人aaa级久久久级| 麻豆传媒一区二区| 性xxxx搡xxxxx搡欧美| 99亚偷拍自图区亚洲| 精品999在线观看| 午夜福利视频一区二区| 99精品国产热久久91蜜凸| 国产精品久久7| 欧美一区二区黄片| 本田岬高潮一区二区三区| 成人免费视频网站| 欧美自拍偷拍第一页| 成人免费av网站| 久久精品一二三区| 欧美色综合一区二区三区| 国产三级一区二区三区| 亚洲高清在线观看一区| 国产丝袜在线| 樱桃国产成人精品视频| 成年女人18级毛片毛片免费| 亚洲s色大片| 亚洲三级在线免费观看| www.日本在线视频| 岛国av在线播放| 色哦色哦哦色天天综合| 色婷婷一区二区三区av免费看| 曰本一区二区| 日韩西西人体444www| 麻豆精品国产传媒av| 亚洲理论电影| 成人97在线观看视频| 久久亚洲AV无码| 男女av一区三区二区色多| 国产成人拍精品视频午夜网站| 成年人晚上看的视频| 老司机精品视频在线| 91在线观看网站| 蜜桃视频在线免费| 国产欧美一区二区精品婷婷| 男人c女人视频| 肉色欧美久久久久久久免费看| 欧美三级蜜桃2在线观看| 超级砰砰砰97免费观看最新一期 | 欧美日中文字幕| 欧美精品免费在线| 国产黄色免费观看| 国产毛片精品一区| 欧美日韩在线观看一区| av毛片在线看| 色综合久久久久久久| 97超碰免费在线观看| 日韩深夜影院| 久久深夜福利免费观看| 三级黄色在线视频| 国内外成人在线| 国产在线一区二| 老司机精品影院| 色综合亚洲欧洲| 久久久久中文字幕亚洲精品| 国产毛片一区二区三区| 国内精品模特av私拍在线观看| 99在线精品视频免费观看软件| 中文字幕精品三区| 欧美激情精品久久久久久小说| 国产乱人伦丫前精品视频| 欧美日韩成人在线视频| 国产精品一二三四五区| 国产精品视频免费看| 亚洲乱码国产一区三区| 亚洲国产欧美日韩在线观看第一区| 欧美高清视频免费观看| 精品国产伦一区二区三区| 国产精品免费免费| 日本超碰在线观看| 日韩免费高清| 国产精品露脸自拍| 极品美乳网红视频免费在线观看 | 成人av综合网| 欧美精品国产精品日韩精品| www.日韩在线观看| 亚洲影视在线播放| 国产精品果冻传媒| 亚洲啪啪91| 国产区欧美区日韩区| 福利小视频在线| 精品va天堂亚洲国产| 久草视频在线资源站| 成人午夜av影视| 欧美狂野激情性xxxx在线观| 91麻豆精品激情在线观看最新| 草民午夜欧美限制a级福利片| 999久久久久久| 亚洲欧美电影院| 男人的天堂免费| 国产精品啊啊啊| 国产精品乱子乱xxxx| www555久久| 亚洲精品久久久一区二区三区 | 日韩一级片在线观看| 欧美人禽zoz0强交| 国产成人在线视频网站| 国产色一区二区三区| 少妇精品导航| 国产精品免费在线免费| 91免费在线| 欧美一区二区三区视频免费播放| 免费网站观看www在线观| aaa亚洲精品| 国产成人av影视| 欧美成人激情| 91精品国产高清久久久久久91裸体| 特级毛片在线| 日韩电影大全免费观看2023年上| 欧美brazzers| 一区在线观看免费| 国产乱淫av片| 老司机久久99久久精品播放免费| 亚洲精品自在在线观看| 玖玖玖电影综合影院| 97人人做人人爱| 91社区在线| 精品国产sm最大网站| 无码人妻精品一区二| **性色生活片久久毛片| 久久久久9999| 六月丁香婷婷久久| av无码久久久久久不卡网站| 在线日韩一区| 亚洲最大av网| 粉嫩一区二区| 九九久久久久久久久激情| 天堂v视频永久在线播放| 色一区在线观看| 少妇人妻丰满做爰xxx| av中文字幕在线不卡| 亚洲欧美久久久久| 在线视频免费在线观看一区二区| 一区二区三区四区视频在线| 精品国产乱子伦一区二区| 国产精品日韩在线观看| 超碰在线公开| 久久精品在线视频| 人人九九精品| 欧美成人福利视频| 中文字幕一区二区人妻| 午夜欧美在线一二页| 午夜精品久久久久99蜜桃最新版| 99久久国产综合精品女不卡| 日批视频在线看| 蜜桃av噜噜一区| 日韩中文字幕三区| 一区二区中文| 亚洲精品在线免费看| 色狠狠久久av综合| 国产精品免费一区二区三区四区 | 这里只有精品视频在线观看| 天天干天天色综合| 亚洲va欧美va人人爽午夜| 潮喷失禁大喷水aⅴ无码| 久久人人97超碰com| youjizz.com国产| 国产一区中文字幕| 色婷婷成人在线| 米奇777在线欧美播放| 91成人综合网| 国户精品久久久久久久久久久不卡| 在线综合视频网站| 波多野结衣在线观看一区二区三区| 国产一级精品aaaaa看| 日韩在线成人| 91国产在线播放| 久久久精品区| 成人精品在线观看| 在线免费成人| 国产精品中文在线| 成人免费在线观看视频| 国产精品久久久久一区二区 | 欧美日韩综合| 成年在线观看视频| 午夜国产精品视频免费体验区| 伊人av成人| 999国产精品永久免费视频app| 婷婷久久五月天| 日韩精品2区| 亚洲欧洲国产日韩精品| 日韩中文字幕高清在线观看| 一区二区三区欧美成人| 国产精品久久久久久久| 可以在线看黄的网站| 综合视频在线| 国产性生活免费视频| 亚洲特级毛片| 久在线观看视频| 久久国产日本精品| 青青在线免费观看视频| 蜜臀91精品一区二区三区| 久久婷五月综合| 国产乱一区二区| 潘金莲一级淫片aaaaaaa| 成人激情文学综合网| 精品中文字幕在线播放| 久久久国产午夜精品| 国产成人免费观看网站| 国产精品九色蝌蚪自拍| 在线免费观看亚洲视频| 亚洲国产美国国产综合一区二区| 久久99精品波多结衣一区| 91久久精品一区二区二区| 亚洲一区二区影视| 欧美一区二区三区播放老司机| 国内爆初菊对白视频| 日韩电视剧在线观看免费网站| 国产乱视频在线观看| 久久天天躁夜夜躁狠狠躁2022| sm在线观看| 国产福利精品视频| 成人网av.com/| 国产亚洲自拍偷拍| 第九色区aⅴ天堂久久香| 男人天堂成人网| 亚洲精品精选| 中文字幕av不卡在线| 国产不卡视频一区| 97伦伦午夜电影理伦片| 国产精品丝袜在线| 久久精品国产av一区二区三区| 欧美色视频日本高清在线观看| 在线观看视频二区| 精品久久久久久久久久久久久久久久久 | 亚洲欧美制服综合另类| 免费a级人成a大片在线观看| 国语对白做受69| 日韩午夜电影免费看| 激情小说网站亚洲综合网| 国产大片一区| 每日在线更新av| 国产激情精品久久久第一区二区 | 成人综合久久| www.av中文字幕| 久久99久久久久| 少妇精品一区二区三区| 亚洲日本在线观看| 国产欧美一区二区三区在线看蜜臂 | 欧美国产日韩激情| 蜜臀久久久久久久| 国产精品三级在线观看无码| 亚洲欧美国产毛片在线| 波多野结衣一二区| 亚洲精品一区二区三区福利| 亚洲精品传媒| 国产精品va在线播放我和闺蜜| 黄色欧美在线| 四虎免费在线观看视频| 久久在线精品| 国产又黄又粗又猛又爽的视频| **欧美大码日韩| 国产美女www| 国产婷婷色综合av蜜臀av| 人人超在线公开视频| 国产欧美一区二区三区四区| 国产免费av一区二区三区| 成年人午夜视频在线观看| 国产精品88888| 麻豆精品国产免费| 欧美亚男人的天堂| 国产在线观看免费| 2019中文字幕在线| 国产精品jk白丝蜜臀av小说| 欧美少妇一级片| 激情六月婷婷久久| av手机在线播放| 在线视频中文字幕一区二区| 青青草在线视频免费观看| 91高清视频免费| 欧美18xxxx| heyzo亚洲| 波多野结衣91| 日本一区二区三区四区五区| 精品国产a毛片| av资源一区| 国产精品欧美久久| 亚洲午夜一区| 中文成人无字幕乱码精品区| 亚洲福利视频三区| 日本高清视频www| 午夜精品久久久久久久男人的天堂| 99国产精品免费网站| 国产精品igao激情视频| 成人免费高清视频在线观看| 国产亚洲自拍av| 亚洲精品电影网| 色老太综合网| 日韩欧美视频一区二区| 激情综合网天天干| 国产黄在线免费观看| 日韩视频不卡中文| 毛片大全在线观看| 久久精品国产第一区二区三区最新章节| 亚洲三级国产| 欧美黄色激情视频| 欧美人成免费网站| 综合久久2o19| 国模精品一区二区三区| 男人的天堂亚洲| 国产精品18在线| 日韩欧美国产麻豆| 日本黄色免费在线| 日韩亚洲不卡在线| 国产最新精品精品你懂的| 欧美精品久久久久性色| 亚洲精品二三区| 一区在线影院| 国产专区在线视频| 99久久精品免费观看| 一级特黄免费视频| 欧美日本精品在线| 欧美热在线视频精品999| 色乱码一区二区三区在线| 亚洲自拍偷拍综合| 看电影就来5566av视频在线播放| 国产日产久久高清欧美一区| 欧美福利影院| 一区二区黄色片| 6080亚洲精品一区二区| 日本不卡免费高清视频在线| 亚洲欧美日韩精品在线| 波多野结衣在线aⅴ中文字幕不卡| 国产精华7777777| 久精品免费视频| 国产在视频线精品视频www666| 成人免费黄色av| 色综合天天综合网国产成人综合天 | 综合激情久久| 欧美黄色免费影院| 亚洲免费av高清| 国产黄在线播放| 国产精品一区二区三区不卡 |