← 学习中心

变量、可变性与类型

let / mut、类型注解与影子绑定

本节你将能

用 let/mut 声明变量,并解释不可变默认与影子绑定(shadowing)的区别。

直觉模型

Rust 默认「名字绑到值上且不可改」——不是为了刁难,而是把「可变状态」变成显式决策,减少数据竞争面。

核心要点

  • 默认不可变;需要修改时写 let mut x
  • 类型可推断,也可注解:let n: i32 = 42
  • 影子绑定:用 let x = ... 再次绑定同名,可变换类型;不同于 mut 原地修改
let mut count = 0;
count += 1;
let count = count.to_string(); // shadow:类型变为 String

常见误区

把 shadowing 当成「偷偷可变」——它是新绑定;旧绑定在作用域内被遮住。

动手

写一个不可变绑定再尝试 +=,读报错;再改成 mut 与 shadow 各解一次。

互动

测验:判断场景该用 mut 还是 shadow。

本节小结

下一节用 if/loop/match 搭控制流,并写第一个小函数。

变量、可变性与类型 - 生命科学与前沿科技学习平台 | 必学必会