精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产日韩成人精品| 国产精品99久久精品| 亚洲欧洲无码一区二区三区| 成人做爽爽免费视频| 美女黄色一级视频| 都市激情亚洲综合| 自拍偷拍国产亚洲| 九9re精品视频在线观看re6| 国产日韩久久久| 亚洲女同一区| 日韩国产高清污视频在线观看| 在线视频一二三区| 天堂av资源网| 久久99国内精品| 欧美性视频精品| 性欧美疯狂猛交69hd| 婷婷国产精品| 日韩欧美黄色影院| 亚洲欧美自偷自拍另类| av老司机在线观看| 一区在线观看免费| 久久影院理伦片| 亚洲精品一区二区口爆| 韩国在线一区| 久久精品精品电影网| 亚洲色图欧美自拍| 欧美暴力调教| 亚洲欧美欧美一区二区三区| 欧美亚洲另类久久综合| 亚洲天堂视频在线播放| 亚洲高清网站| 欧美美女18p| 亚洲一级二级片| 国产一区二区三区电影在线观看 | 久久激情一区| 欧美高清视频在线| 国产一二三四区| 色狮一区二区三区四区视频| 永久555www成人免费| 午夜一区二区三区免费| 国产成人精品亚洲线观看| 欧美一区欧美二区| 国产成人黄色网址| 电影一区二区| 欧美日韩在线亚洲一区蜜芽| 国产亚洲天堂网| av电影免费在线看| 亚洲成a人片综合在线| 免费一区二区三区| 国产精品无码天天爽视频| 日韩av网站免费在线| 日韩暖暖在线视频| 亚洲精品一区二三区| 麻豆九一精品爱看视频在线观看免费| 日韩中文在线中文网在线观看| 亚洲一区精品视频在线观看| 九色成人搞黄网站| 欧美午夜理伦三级在线观看| 欧美日韩亚洲一二三| av免费在线一区| 亚洲一区二区三区美女| 18禁裸男晨勃露j毛免费观看| 久久国产精品高清一区二区三区| 国产一区二区你懂的| 国内免费精品永久在线视频| 色网站在线播放| 亚洲专区免费| 欧美激情在线观看| 日韩av电影网址| 国产精品日韩久久久| 欧美一区二区视频97| 9i看片成人免费看片| 丝袜美腿亚洲一区| 国产精品视频公开费视频| 在线视频免费观看一区| 国产在线精品视频| 国产精品国产一区二区| 日韩在线无毛| 国产精品麻豆一区二区| 久久精品在线免费视频| 电影在线观看一区| 免费网站看av| 久久看片网站| 91精品中文在线| 欧美视频xxx| 国产亚洲成年网址在线观看| 中日韩在线视频| 牛牛精品在线| 一本大道av一区二区在线播放| 99热在线这里只有精品| 成人午夜在线| 亚洲第一福利视频| 日韩精品电影一区二区三区| 国精品一区二区三区| 欧美成人精品一区二区三区| 在线观看国产亚洲| 精品一区二区免费在线观看| 黑人另类av| 午夜伦理在线| 狠狠躁夜夜躁人人爽天天天天97| 成人免费性视频| 日日av拍夜夜添久久免费| 欧美日韩亚洲精品内裤| 中文字幕资源在线观看| 综合国产视频| 欧美黑人巨大xxx极品| 高潮毛片又色又爽免费| 国产精品99久久久久| 欧美一区二区三区在线播放| 国产三级视频在线看| 亚洲精品国产第一综合99久久| 干日本少妇视频| 波多野结衣久久精品| 欧美一区二区三区免费在线看 | 日韩美女视频网站| 日本欧美一区二区三区| 国产日韩在线一区二区三区| 日本激情在线观看| 日韩欧美中文字幕在线观看| 国产又黄又嫩又滑又白| 日韩免费高清| 日韩av免费在线观看| 中文字幕人妻一区二区在线视频| 美国三级日本三级久久99| 国产在线日韩在线| 男女网站在线观看| 欧美国产日本韩| 怡红院av亚洲一区二区三区h| 亚洲最大网站| 亚洲第一视频在线观看| 青青草原在线免费观看| 另类中文字幕网| www.成人av.com| 黄色成人影院| 91精品国产综合久久精品图片| 男男一级淫片免费播放| 亚洲二区三区不卡| 国产日韩欧美电影在线观看| 成人精品福利| 在线观看91视频| 久久无码人妻一区二区三区| 日韩毛片视频| 成人激情视频在线播放| 先锋av资源站| 午夜精品成人在线| 天天躁日日躁狠狠躁av麻豆男男| 欧美日韩精品一区二区视频| 国产97在线|日韩| 狠狠狠综合7777久夜色撩人| 色综合久久九月婷婷色综合| 国产男女猛烈无遮挡a片漫画| 91影院成人| 国产日韩欧美综合| 性xxxx视频| 欧美性感美女h网站在线观看免费| 亚洲人辣妹窥探嘘嘘| 国产欧美日韩在线观看视频| 欧美极品美女视频网站在线观看免费| 精品黑人一区二区三区| 国产亚洲视频系列| 成人3d动漫一区二区三区| 欧美军人男男激情gay| 国产精品日日摸夜夜添夜夜av| 国产综合视频在线| 亚洲不卡一区二区三区| 亚洲一区二区三区四区五区六区| 午夜视频一区| 国产一区二区在线网站| 亚洲国产福利| 色婷婷综合久久久久| 国产精品天天操| 亚洲h动漫在线| 黑人巨大精品欧美| 欧美aⅴ一区二区三区视频| 国产偷国产偷亚洲高清97cao| 视频一区二区三区不卡| 91精品91久久久中77777| 精品伦精品一区二区三区视频密桃| 国产网站在线免费观看| 国产区av在线| 国产精品久久久久久69| 蜜臀久久99精品久久久画质超高清| 91最新国产视频| 3d玉蒲团在线观看| 亚洲国产小视频| 精品一区二区三区人妻| 久久美女艺术照精彩视频福利播放 | 波多野结衣视频网站| 欧美国产日韩a欧美在线观看| 久久人妻精品白浆国产| 99精品一区| 国产日韩一区二区| 久久精品xxxxx| 97视频在线播放| 亚洲欧美综合一区二区| 欧美日韩国产影片| 日韩三级免费看| 国产精品另类一区| www.男人天堂| 国产一区日韩二区欧美三区| 日本wwww视频| 欧美激情视频一区二区三区免费| 亚洲xxxx做受欧美| 三上悠亚一区二区| 欧美成人自拍视频| 国产在线视频网| 精品成人一区二区| 国产精品久久久久久久久久久久久久久久 | 欧美久久久一区| 国内精品福利视频| 亚洲欧美一区二区三区极速播放| 热久久久久久久久| 免费视频一区| 成年女人18级毛片毛片免费| 93在线视频精品免费观看| 激情五月综合色婷婷一区二区| 亚洲美女尤物影院| 亚洲欧美国产制服动漫| 性一交一乱一乱一视频| 欧美日韩在线一区二区| 人妻人人澡人人添人人爽| 久久久久88色偷偷免费| 怡红院一区二区| 国产成a人亚洲精| 中文字幕1234区| 日av在线不卡| 97av视频在线观看| 国产精品美女久久久| 亚洲三区在线| 国产麻豆一区二区三区精品视频| 成人a免费视频| 91精品xxx在线观看| 青草青草久热精品视频在线观看| 秋霞成人影院| 在线观看国产精品91| 激情小视频在线观看| 亚洲男人天堂古典| 色哟哟在线观看| 亚洲黄色片网站| 午夜在线视频免费| 精品调教chinesegay| 天天影院图片亚洲| 亚洲另类图片色| 青青草av免费在线观看| 亚洲另类xxxx| 97超碰人人在线| 亚洲国产精品视频在线观看| 亚洲成熟女性毛茸茸| 日韩欧美国产精品一区| 蜜臀av中文字幕| 欧美日韩一区二区三区在线看| 国产无遮挡又黄又爽| 亚洲成人动漫精品| 国产精品久久久免费视频| 欧美午夜无遮挡| 青青艹在线观看| 欧美日韩久久久久久| 国产精品久久久久久无人区| 91精品国产综合久久福利| 精品黑人一区二区三区在线观看| 色乱码一区二区三区88| 成人一级免费视频| 欧美日韩中文字幕在线视频| 日本中文字幕在线| 欧美亚洲免费在线一区| 国产精品玖玖玖| 欧美xxxxxxxx| 三级av在线| www.色综合| 女同一区二区免费aⅴ| 久久久中精品2020中文| av资源亚洲| 国产中文字幕日韩| 亚洲午夜免费| 99re国产| 国产亚洲一区二区三区不卡| 最新不卡av| 亚洲精品国产日韩| 少妇黄色一级片| 天堂在线一区二区| 国产无色aaa| 99视频在线观看一区三区| 亚洲人成人无码网www国产| 最新国产の精品合集bt伙计| 久久久久久久久久91| 欧美午夜精品久久久久久久| 91久久久久久久久久久久| 精品国免费一区二区三区| 免费a在线观看| 精品综合久久久久久97| 在线中文字幕视频观看| 欧美一区二区视频97| av电影一区| 97超碰资源| 凹凸成人精品亚洲精品密奴| 欧美日韩福利在线| 蜜桃久久久久久久| 在线xxxxx| 中文字幕在线观看不卡| 色哟哟一一国产精品| 欧美日韩国产在线看| 99久久久国产精品无码网爆| 亚洲欧美在线播放| 色呦呦在线免费观看| 国产精品久久久久久久av电影| 经典三级一区二区| 国产精品美腿一区在线看| 91精品尤物| 99r国产精品视频| 第四色中文综合网| 亚洲小说欧美另类激情| 韩国亚洲精品| 亚洲精品性视频| 久久精品一区四区| 国产精品免费av一区二区| 欧美一区二区三区电影| www黄在线观看| 人人澡人人澡人人看欧美| 国产精品17p| 天堂а√在线中文在线| 九九精品视频在线看| 亚洲日本精品视频| 精品国产91乱高清在线观看| 亚洲大尺度视频| 欧美国产精品va在线观看| 免费成人在线电影| caoporn国产精品免费公开| 天天做综合网| www.久久久精品| 亚洲国产精品成人综合| 精品99久久久久成人网站免费| 欧美日韩激情网| 蜜桃视频久久一区免费观看入口| 亚洲色在线视频| 超碰免费在线播放| 91精品久久久久久久久| 色综合久久一区二区三区| 能在线观看的av网站| 国产伦精品一区二区三区在线观看 | 成人午夜私人影院| 日韩在线中文字幕视频| 欧美精品日韩综合在线| 黄色网页网址在线免费| 成人乱色短篇合集| 亚洲情侣在线| 国模大尺度视频| 亚洲一区二区精品视频| 中文字幕乱码人妻无码久久| 国产一区二区日韩精品欧美精品| 青春草免费在线视频| 岛国一区二区三区高清视频| 欧美日韩亚洲一区在线观看| 在线xxxxx| 色呦呦国产精品| jzzjzzjzz亚洲成熟少妇| 国产主播欧美精品| 亚洲精品一区二区在线看| 日本一二三四区视频| 亚洲第一在线综合网站| 日韩欧美亚洲系列| 国产精品第100页| 99久久激情| 男人舔女人下面高潮视频| 国产欧美日韩精品a在线观看| 日韩网红少妇无码视频香港| 91精品国产综合久久国产大片| 成年人在线视频免费观看| 国产精品美女网站| 伊人久久大香线蕉综合四虎小说| 88av.com| ...av二区三区久久精品| 亚洲国产精品久久久久爰性色| 久久精品精品电影网| а√中文在线天堂精品| 春日野结衣av| 国产精品久久久久影院老司| 波多野结衣激情视频| www高清在线视频日韩欧美| 91免费精品国偷自产在线在线| www.黄色网址.com| 不卡的看片网站| 国产精品无码一区| 久操成人在线视频| 亚洲影院天堂中文av色| 在线免费观看av网| 国产精品国产精品国产专区不蜜 | 黄免费在线观看| 欧美一级日韩免费不卡| 日本不卡1234视频| 亚洲一区二区免费视频软件合集| 日本女优在线视频一区二区| 手机在线免费看毛片| 亚洲精品国产免费| 亚洲成人a级片| 男人靠女人免费视频网站| 亚洲人吸女人奶水| 国产又粗又长又黄| 久久这里只有精品99| 欧美一级片网址| 成年人在线看片|