Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?

2025-06-23 05:25:15 上一篇 : 为什么有的人喜欢带着 MacBook 去咖啡店或者书店上网,而不是 ThinkPad 之类的? | 下一篇 : Chrome 浏览器设计的神细节有哪些?

Go 即不要求 err 为 nil 时,result 是非 nil。

也不要求 result 为 非 nil 时,err 为 nil。

所以理论上,Go 存在 如下四种情况 值, nilnil, errnil, nil值, err而 Rust 的 Resut 只存在两种情况。

ok 或 err 有人可能会说,只要做好规定,让开发者不这么写就可以了。

你说的对,但,能从语言层面确定的,为什么要靠人来限制。

你能保证你永远不犯错吗? 你连团队里面是不是有人给 err _ 了都保证不了。

人,才是最难保证的一环…。

Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?