fn return_clo() - impl Fn(i32) - i32 { //静态分发 |x| x1 } fn return_clo1() - Boxdyn Fn(i32) - i32 { //使用 Boxdyn Fn动态分发 Box::new(|x| x 1) } //捕获外部变量的闭包 fn return_clo2(y: i32) - impl Fn(i32) - i32 { move |x| x y // move 关键字把 y 的所有权移入闭包 } fn main() { println!({},return_clo()(1)); println!({},return_clo1()(2)); println!({},return_clo2(5)(3)); }