我有一些代码,看起来像这样
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的最终值。
x
ffscu2ro1#
不,let总是绑定一个新变量,即使在if或while内部。重新分配现有变量值的唯一方法是使用中缀=运算符。
let
if
while
=
1条答案
按热度按时间ffscu2ro1#
不,
let
总是绑定一个新变量,即使在if
或while
内部。重新分配现有变量值的唯一方法是使用中缀=
运算符。