为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
相关推荐
最新更新
推荐阅读
如何评价前端组件库shadcn/ui?
曾经的班花,现在还多少人惦记?
如果全球都停止出口粮食,中国能否自给自足?
微软edge浏览器为什么逐渐被其他的浏览器代替?
5 月 28 日 DeepSeek R1 模型完成小版本试升级并开源,具体有哪些提升?使用体验如何?
男医生在给年轻靓丽的女性检查时会是什么心态?
中本聪为什么不出来?如果现身,会发生什么?
开腹手术,医生是如何处理患者的腹部脂肪的?
Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?
为什么react***推荐使用create-next-***了呢?不用ssr的话,也没必要用next吧?
猜你喜欢
关注我们
