为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?

2025-06-27 08:50:12

因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。

为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
广告位810*200
相关阅读
为什么 Windows 系统 Program Files 这个经常用来装软件的目录,名称中有个空格?

为什么 Windows 系统 Program Files 这个经常用来装软件的目录,名称中有个空格?

甚至,可能很多人不知道,这个目录在不同语言的Windows下...

2025-06-25
怎样才能把动态磁盘转换为基本磁盘?

怎样才能把动态磁盘转换为基本磁盘?

在电脑磁盘管理中,有时会不小心将硬盘从基本磁盘转换为动态磁盘...

2025-06-25
Trae和Cursor对比有什么优势吗?

Trae和Cursor对比有什么优势吗?

开发提效200%,这两个插件让Cursor性能飙升! 前言大...

2025-06-25
为什么 mac mini 的 m4 版本价格这么低呢?

为什么 mac mini 的 m4 版本价格这么低呢?

就是卖不动了,只好一轮一轮的降价。 和现在的房子一样,当然它...

2025-06-25
Rust开发Web后端效率如何?

Rust开发Web后端效率如何?

先叠几个定语: 你要是写Reactive Web,用Web ...

2025-06-25