我知道一个人可以在let
条语句中分解元组和其他内容:
fn foo() -> (u8, u8) {
(1, 2)
}
fn main() {
let (x, y) = foo();
println!("{}, {}", x, y); // prints "1, 2"
}
从Rust 1.59开始,用户还可以重用现有绑定:
fn main() {
let mut x = 0;
let mut y = 0;
println!("{}, {}", x, y); // prints "0, 0"
(x, y) = foo();
println!("{}, {}", x, y); // prints "1, 2"
}
我想知道是否有一种方法可以将两者混合使用,即为模式中的一些变量重用现有绑定,并为其他变量创建新绑定.类似于以下内容(无法编译):
fn main() {
let mut x = 0;
println!("{}", x);
(x, let y) = foo();
println!("{}, {}", x, y);
}