相关疑难解决方法(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中Scala的getOrElse相当于什么?

在Scala中,我可以getOrElse方便地从中获取默认值Option,Rust中的等效值是什么?

val threeOpt = Some(3)
val shouldBeThree = threeOpt.getOrElse(-1) // got 3
Run Code Online (Sandbox Code Playgroud)

optional rust

-6
推荐指数
1
解决办法
123
查看次数

标签 统计

rust ×2

optional ×1