Rust
Rust 基础篇 (一):变量绑定、不可变性与常量深度剖析
Waitwalker2026-08-218 min
## 1. 为什么 Rust 的变量默认是不可变的?
在大多数编程语言中,变量默认可变。Rust 选择默认不可变(Immutable)的核心原因在于**并发安全**与**代码可推导性**:
- 如果数据不可变,多个线程同时读取时绝对不可能发生数据竞争(Data Race)。
- 阅读代码时,无需担心某个函数在深层调用链中意外修改了全局或传入的局部变量。
```rust
fn main() {
let mut x = 5;
println!("初始值: {}", x);
x = 6; // 必须有 mut 关键字才允许修改
println!("修改后: {}", x);
}
```
## 2. 变量遮蔽 (Shadowing) 的妙用
Rust 允许通过重复使用 `let` 声明同名变量来遮蔽之前的变量。这不仅可以改变变量的值,还可以改变其数据类型,同时保持不可变性:
```rust
let spaces = " "; // &str 类型
let spaces = spaces.len(); // 转换为 usize 类型,同名变量遮蔽
```
#Rust#语法基础#变量#内存安全
回到文章列表 →