我有一些代码,如下所示:
let mut x = ...;
while let Some(x_) = foo(x) {
x = x_;
bar(x);
}
baz(x);
我想写成:
let mut x = ...;
while let Some(x) = foo(x) {
bar(x);
}
baz(x);
但据我所知,这会隐藏外部可变的
x
而不是分配给它。请注意,我需要在循环结束后访问 x
的最终值。
不,
let
始终绑定新变量,即使在if
或while
内部也是如此。重新分配现有变量值的唯一方法是使用中缀 =
运算符。