Rust 使用 Result 的錯(cuò)誤處理方式與 Golang 使用 error 的方式有什么本質(zhì)區(qū)別?
作者: 發(fā)布日期:2025-06-29 12:15:12
Go 即不要求 err 為 nil 時(shí),result 是非 nil。
也不要求 result 為 非 nil 時(shí),err 為 nil。
所以理論上,Go 存在 如下四種情況 值, nilnil, errnil, nil值, err而 Rust 的 Resut 只存在兩種情況。
ok 或 err 有人可能會(huì)說(shuō),只要做好規(guī)定,讓開(kāi)發(fā)者不這么寫(xiě)就可以了。
你說(shuō)的對(duì),但,能從語(yǔ)言層面確定的,為什么要靠人來(lái)限制。
你能保證你永遠(yuǎn)不犯錯(cuò)嗎? 你連團(tuán)隊(duì)里面是不是有人給 err _ 了都保證不了。
人,才是最難保證的一環(huán)…。









