为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?
因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。
相关推荐
最新更新
推荐阅读
猜你喜欢
为什么不用rust重写Nginx?
现在工作中k8s是使用containerd还是docker来管理容器?
为什么macOS软件生态不敌Windows?
山西一职工「1 岁工作、22 岁退休」,冒领养老金 69 万,此事该如何追责?谁该赔偿财政损失?
据报道称“浏览器内核有上千万行代码”,浏览器内核真的很复杂吗?
你所见过的穷是什么样子?
给你100万,但你必须从4度的水域和40度的水域中选一个游1公里,你选哪个?
为什么大部分人都认为2560x1440是2K?
中国的野球水平也和职业足球一样低吗?
山西一职工「1 岁工作、22 岁退休」,冒领养老金 69 万,此事该如何追责?谁该赔偿财政损失?
关注我们

包装检测设备
网站首页
