相关疑难解决方法(0)

为什么我更喜欢`Option :: ok_or_else`而不是`Option :: ok_or`?

我刚看到拉取请求中的以下更改:

- .ok_or(Error::new(ErrorKind::Other, "Decode error"));
+ .ok_or_else(|| Error::new(ErrorKind::Other, "Decode error"));
Run Code Online (Sandbox Code Playgroud)

我所知道的唯一区别是:

  1. ok_or我们已经创建ErrorError::new,并通过它变成一个适配器.
  2. ok_or_else我们已经传递了一个闭包,它会产生这样一个值,但是如果有Some数据则可能不会被调用Option.

我错过了什么吗?

rust

7
推荐指数
2
解决办法
1551
查看次数

标签 统计

rust ×1