Rust 变量声明详解
基本变量声明
不可变变量
默认情况下,Rust 中的变量是不可变的,这意味着一旦赋值,它们的值就不能再改变:
let x = 5;
// x = 6; // 错误:不能改变不可变变量的值
可变变量
通过使用 mut 关键字声明可变变量:
let mut y = 10;
y = 15; // 正确:y 是可变的
类型系统
类型推断
Rust 支持自动类型推断,也可显式指定类型:
let z: i32 = 20; // 显式指定类型为 i32
高级特性
变量解构
支持元组和数组的解构赋值:
let (a, b) = (1, 2); // 元组解构
let [c, d] = [3, 4]; // 数组解构
常量声明
使用 const 声明常量,必须显式指定类型:
const MAX_POINTS: u32 = 100_000;
变量遮蔽(Shadowing)
允许重新声明同名变量并改变类型:
let x = 5;
let x = x + 1; // 值遮蔽
let x = "Hello"; // 类型遮蔽
生命周期与作用域
变量的生命周期由其所在作用域决定:
{
let x = 42;
// x 在此作用域内有效
}
// x 在此失效
核心特性总结
| 特性 | 说明 | 关键字 |
|---|---|---|
| 不可变性 | 默认变量不可修改 | let |
| 可变性 | 显式声明可变状态 | mut |
| 类型安全 | 强制类型声明/推断 | : Type |
| 变量复用 | 允许同名变量重复声明 | let 同名变量 |
| 常量 | 编译期确定值的不可变绑定 | const |
注:所有代码示例均保持原始形式,未做修改。实际开发中建议遵守 Rust 的命名规范(如常量使用全大写+下划线格式)。