rust 里 unwrap 用起来真方便,但如果不用 unwrap

2022-10-28 11:28:10 +08:00
 v2defy

如果不用 unwrap, 就需要 if let 判断是不是个正常值, 感觉和 go 的 if err != nil 区别不大了就.

虽然可以使用 ? 把错误抛往上层, 但一直往上抛也不是办法, 总要找个恰当的时机把它判断处理了.

unwrap 真的方便, 但是会导致程序退出, 你们写 rust 的时候什么使用用 unwrap, 什么时候不用呢?

3241 次点击
所在节点    程序员
23 条回复
seansong
2022-10-28 16:38:13 +08:00
unwrap 是你接触的第一个异常处理方式

除非你确认结果一定不会异常,或者这个异常完全没有捕获并恢复的必要,可以考虑用 unwrap

if let 相当于只是 match 的语法糖,大部分时候,还是得用 match 来处理
skies457
2022-10-28 17:12:47 +08:00
andyJado
2022-10-28 19:23:26 +08:00
切肤体会最贴心的是 expect

程序读起来像是在许愿.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/890637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX