为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
- 发表时间:2025-06-27 13:30:17
- 来源:
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
推荐资讯
- 2025-06-23 15:30:19如何评价腾讯元宝桌面端使用 Rust 的 Tauri 框架?
- 2025-06-23 15:05:19Rust开发Web后端效率如何?
- 2025-06-23 15:00:19因为买车跟老公吵了好多次架,我该怎么办?
- 2025-06-23 15:30:19如何评价高圆圆的身材算是美女类型的吗?
- 2025-06-23 16:40:22怎么挑选做设计用的显示器,要看哪些参数呢?
- 2025-06-23 15:10:18为什么组装电脑的人喜欢用大功率电源?
- 2025-06-23 16:35:18中国大陆地区献血率为何如此低下?
- 2025-06-23 15:25:19systemd吞并了什么?
- 2025-06-23 15:50:19为什么中国JK无法拍出日本JK的感觉?
- 2025-06-23 15:15:18炫富真的很爽吗?
推荐产品
-
软路由是否被过度神化?
有一说一openwrt我真玩不来,原生还好,想玩插件总会遇到 -
HTTP/3 解决了什么问题,又引入了什么新问题?
HTTP/3 实际上是 QUIC 协议 + HTTP2。 我 -
systemd吞并了什么?
只吞了init的。 剩下的那些玩意儿,只是套个壳。 比如 -
为什么 Linux 软件安装包会有依赖关系,而 Windows 软件安装包不需要?
你不应该用面向普通用户的商业软件的思路去理解Linux的软件
最新资讯