为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
相关推荐
最新更新
如何看待不超过1879元的Mac mini(M4+16/256GB+票),易用性吊打同级其他台式电脑?
如何看待苹果在 WWDC25 发布的 Foundation 模型框架,它将为开发者和用户带来哪些改变?
不用CDN就没事,用阿里云CDN就被攻击刷流量,阿里云表示证明不了就要用户买单,如何看到这种行为?
同样是对标安卓系统,为什么谷歌的Fuchsia死了,而华为的鸿蒙却愈发壮大?
J***a 除了 Spring 还有什么?
Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?
为啥软路由大多都是爱快加openwrt的组合,单openwrt有什么缺点嘛?
男医生在给年轻靓丽的女性检查时会是什么心态?
我女儿三岁两个月背下整首木兰辞,请问这说明她特别聪明吗?
postgresql能取代mongodb吗?
推荐阅读
猜你喜欢
关注我们

包装成型机械
网站首页
