为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
- 发表时间:2025-06-25 14:40:18
- 来源:
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
推荐资讯
- 2025-06-27 13:30:17你生活中做过最自律的一件事是什么?
- 2025-06-27 13:50:17孩子画过什么画让你非常震惊?
- 2025-06-27 14:45:18对自己的专业不太感兴趣以及对未来感到迷茫,应该怎么办?
- 2025-06-27 14:50:18如何看待2025江苏国补在6月1日突然暂停下线?
- 2025-06-27 13:25:17为什么全世界无一人能实现新mac直接全功能稳定装Win 11 arm,或PC直接装macOS arm?
- 2025-06-27 14:15:17续签香港优才,怎么证明申请人“常住香港”?
- 2025-06-27 14:05:18如何看待 稚晖君第五轮融资 估值将达70亿?
- 2025-06-27 13:50:17PC电脑能不能当服务器用?
- 2025-06-27 13:55:18折叠屏手机有哪些有用或好玩的功能,你过去不理解,现在离不开?
- 2025-06-27 14:00:19有哪些事情是MacOS做不到但Linux可以做到的?
推荐产品
-
为什么老外泡中国妞那么容易?什么时候中国男人也能泡老外那么容易?
首先说明一下个人背景:我去过四大洲二十多个国家,和超过十个不 -
为什么 Windows 没有比较成熟的第三方桌面环境(explorer.exe)?
因为没资格,微软在ui设计语言方面跟谷歌一个级别。 Win7 -
你怎么评价日本某个前空姐说:“如果我在经济舱,年薪2000万日元以下的乘客没有资格给我递名片”?
这并没什么 人总是要为自己考虑的 空姐,虽然工作看起来很体面 -
为什么Go仅仅160MB的安装包就可以编译程序,而Rust却还需要几个GB的VC++才能编译?
我觉得吧,很多时候,解释是没有用的。 在这方面Go确实要比其
新闻动态
最新资讯