为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
相关推荐
最新更新
推荐阅读
编程语言 MoonBit 发布 Beta 版,正式进入企业场景应用,会带来哪些影响?
PNG ,GIF , JPG ,的区别有哪些?
豆包推出 AI 编程,在「编辑模式」下可以直接前端改图和文字,体验如何?对行业会带来怎样的影响?
如何看待人教版小学数学教科书中的插画风格?
Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?
人间尤物是什么样的?
你相亲被恶心过么??
非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
macOS下有哪些作为开发人员推荐安装的软件?
靳东、宋佳分封视帝、视后,《我的阿勒泰》获最佳剧集,如何评价 30 届上海电视节白玉兰奖获奖名单?
猜你喜欢
关注我们

圆珠笔
网站首页
