Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?
- 发表时间:2025-06-25 11:25:19
- 来源:
Go 即不要求 err 为 nil 时,result 是非 nil。
也不要求 result 为 非 nil 时,err 为 nil。
所以理论上,Go 存在 如下四种情况 值, nilnil, errnil, nil值, err而 Rust 的 Resut 只存在两种情况。
ok 或 err 有人可能会说,只要做好规定,让开发者不这么写就可以了。
你说的对,但,能从语言层面确定的,为什么要靠人来限制。
你能保证你永远不犯错吗? 你连团队里面是不是有人给 err _ 了都保证不了。
人,才是最难保证的一环…。
推荐资讯
- 2025-06-21 23:45:17至今为止,cpu中有哪些“神u”?
- 2025-06-21 22:30:16万兆的网络速度有多大意义?
- 2025-06-21 23:35:16能分享一下你写过的rust项目吗?
- 2025-06-21 23:35:16如何看待日本小学校园餐只有一小块鸡肉?
- 2025-06-22 00:00:17是什么原因让你一定要用 iPhone?
- 2025-06-21 23:30:15《欢天喜地七仙女》中 「仙女下嫁凡人」 的设定,在今天是否过时?
- 2025-06-21 23:40:18哪张照片让你觉得刘亦菲美得不可方物?
- 2025-06-21 22:40:16多个充电宝或电芯品牌的 3C 认证证书被暂停,涉及罗马仕、安克、绿联、倍思、安普瑞斯等,发生了什么?
- 2025-06-21 23:50:16如何看待海贼王1152话尾田给出的香克斯断臂的解释?
- 2025-06-21 23:35:16李小璐老了以后,会后悔么?
推荐产品
-
2025年6月,到底买油车还是电车?
我的油车 15年的阿特兹 一年油费4000 保险3100 保 -
graalvm为啥国内没有流行起来,go写起来实在太恶心了,难道任凭go独霸云原生?
graalvm现在已经正儿八经能用了,也就是把一个大项目编译 -
什么是bootloader?
在2016年,我在做一个网关项目时,需要实现远程固件升级功能 -
obsidian用一两年后会有多大?全文搜索还快吗?
用内存虚拟化储存就可以了。 因为 Obsidian 对于 .
最新资讯