為什么 Go 語言的 Error Handling 被某些人認為是一個敗筆?
作者: 發布日期:2025-06-27 01:05:11
因為go的錯誤處理怎么看都毫無意義 從類型論角度來說 一個result和err的tuple是個product type,但兩個只有可能有一個是合理的 對于這種情況如果要用類型來模擬錯誤的話最合理的是像rust這樣定義一個 sum type,這樣安全的很多 從軟件工程角度 一般代碼可以在頂層套一層捕獲 碰到一個error直接拋出被接住中斷procedure 而且多層嵌套也有traceback stack清晰標出調用關系 但go這種防御式編程直接把error當一個變量了 所以你學要手…。









