<分区>
fn main() {
let _one = None.unwrap_or("one".to_string());
let _two = None.unwrap_or_else(|| "two".to_string());
}
为什么人们更喜欢 unwrap_or_else
而不是 unwrap_or
有什么特别的原因吗?
我看到评论说 unwrap_or
很急切(例如 this)。这是否意味着 unwrap_or
中的值总是在程序执行之前计算?而 unwrap_or_else
中的 FnOnce
值仅在程序执行到该行时才被调用?