为什么这里需要`move`

问题描述 投票:0回答:0

我是 Rust 编程语言的新手。我看到一个小

fltk
gui 应用程序代码here。有这个函数注册回调:

fn register_default_callback(&mut self) {
  self.btn.set_callback({
    let name = self.name.clone();
    let age = self.age.clone();
    let occupation = self.occupation.clone();
    move |_| { // WHY IS `move` NEEDED HERE?
      println!("Name: {}", name.value());
      println!("Age: {}", age.value());
      println!("Occupation: {}", occupation.value());
    }
  });
}

为什么上面的函数需要

move
?为什么要为它创建单独的块?
|_|
是什么意思?为什么我们不能打印出所有的值?

rust fltk
© www.soinside.com 2019 - 2024. All rights reserved.