为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
相关推荐
最新更新
苹果为什么要给每代MacOS起个名字,真以为人们记得住分得清吗?
Gemini 2.5 Flash 和Pro稳定版上线,和之前版本相比,在性能和应用场景上有哪些提升?
为什么情侣在一起旅行后容易分手?
如何评价苹果 3 月 5 日发布的 MacBook Air M4,相比前代有哪些提升?
Rust、Go、Zig、Dart、C3、C++、C,仓颉、moonbit、凹语言哪个语言更有未来?
如何评价仓颉编程语言7月30日开源?
JetBrains 放弃 AppCode 是否是一个错误决定?
性在婚姻生活中真的重要吗?
为什么不趁以色列美国与伊朗打的火热的时机收复台湾呢?
***如古代长城用的是C140混凝土,那千百年下来会完整的留存至今还是损坏的更加严重?
推荐阅读
猜你喜欢
关注我们

包装用纸
网站首页
