为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
相关推荐
最新更新
27寸显示器是否有必要到4K?
女生穿超短裙就是为了给别人看吗?
为什么 macOS 并不差,可市场总敌不过 Windows?
为什么web worker可以在前端开多线程,解决单线程卡死页面的问题,但是没有得到广泛使用?
阿里云盘冻结后强制收费才能解冻,如何处理?
如何看待不超过1879元的Mac mini(M4+16/256GB+票),易用性吊打同级其他台式电脑?
为什么就没有超级黑客开发出能爆发显卡全部能力的驱动呢?
为什么中国主机带宽比美国贵5倍(原来错误的10000倍),比如阿里云?
Rust据说是这样先进,那Rust编译器也总该是Rust写的吧?
go为了编译速度减少了很多编译优化?为什么不能提供优化编译模式来提升运行效率?是太懒还是另有隐情?
推荐阅读
猜你喜欢
关注我们

二都镇
网站首页
