我有以下代码:
use std::thread;
fn half(v: f64) -> f64 {
v / 2.0
}
fn gougu(a: f64, b: f64) -> f64 {
(a * a + b * b).sqrt()
}
#[test]
fn foo() {
let a = 3.0;
let b = 4.0;
let worker = thread::spawn(move || {
let c = gougu(a, b);
eprintln!("{}^2 + {}^2 = {}^2", a, b, c)
});
eprintln!("half {}", half(a))
}
在eprintln!
中,a
在移入用于线程的闭包后移入half
。
我的问题是:
a
?a
可以移动两次?