变量绑定在默认情况下是不可变的, 但是这可以使用 mut
修辞符来覆盖。
fn main() {
let _immutable_binding = 1;
let mut mutable_binding = 1;
println!("Before mutation: {}", mutable_binding);
// Ok
mutable_binding += 1;
println!("After mutation: {}", mutable_binding);
// Error!
_immutable_binding += 1;
// FIXME ^ Comment out this line
}
编译器将抛出一个详细的诊断有关的可变性的错误。