Rust的一元运算符||(并行管道)是什么意思?

35

非词法生命周期:介绍中,Niko包含了以下代码片段:

fn get_default3<'m,K,V:Default>(map: &'m mut HashMap<K,V>,
                                key: K)
                                -> &'m mut V {
    map.entry(key)
       .or_insert_with(|| V::default())
}

这里的|| V::default()是什么意思?


请参见官方文档:https://doc.rust-lang.org/book/ch13-01-closures.html - edvard chen
2个回答

52

这是一个零参数的闭包。这是一个简化的例子,展示基本的语法和使用方法 (play):

fn main() {
    let c = || println!("c called");
    c();
    c();
}

这将打印:

c called
c called

来自文档的另一个示例

let plus_one = |x: i32| x + 1;

assert_eq!(2, plus_one(1));

26

这是一个零参数的lambda函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接