在非词汇生命周期:简介中,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())
}
Run Code Online (Sandbox Code Playgroud)
这|| V::default()意味着什么?
Arj*_*jan 19
它是一个零参数的闭包.这是一个简化示例,用于显示基本语法和用法(播放):
fn main() {
let c = || println!("c called");
c();
c();
}
Run Code Online (Sandbox Code Playgroud)
这打印:
c called
c called
Run Code Online (Sandbox Code Playgroud)
let plus_one = |x: i32| x + 1;
assert_eq!(2, plus_one(1));
Run Code Online (Sandbox Code Playgroud)