410 字
2 分钟
rust 1day
Rust 变量与可变性示例项目
目录结构:
rust_vars_demo/└── src/ └── main.rsCargo.toml:
[package]name = "rust_vars_demo"version = "0.1.0"edition = "2021"src/main.rs:
// 常量示例const PI: f64 = 3.1415926;
fn main() { println!("--- Rust 变量与可变性示例 ---");
// 1️⃣ 不可变变量(默认) let x = 5; println!("不可变变量 x = {}", x); // x = 10; // ❌ 会报错
// 2️⃣ 可变变量 let mut y = 10; println!("可变变量 y 初始值 = {}", y); y = 15; println!("可变变量 y 修改后 = {}", y);
// 3️⃣ Shadowing(遮蔽) let z = 20; let z = z + 5; // z 被遮蔽为新变量 println!("Shadowing 后 z = {}", z);
{ let z = z * 2; // 内层作用域遮蔽 println!("内层作用域 z = {}", z); }
println!("外层作用域 z = {}", z);
// 4️⃣ 常量 println!("常量 PI = {}", PI);
// 5️⃣ 函数参数的可变性 let mut value = 50; println!("函数前 value = {}", value); add_ten(&mut value); println!("函数后 value = {}", value);}
// 函数演示可变参数(使用可变引用)fn add_ten(val: &mut i32) { *val += 10; println!("函数内修改 val = {}", val);}✅ 运行示例
- 创建项目:
cargo new rust_vars_democd rust_vars_demo-
替换
src/main.rs内容为上面的代码 -
运行:
cargo run输出示例:
--- Rust 变量与可变性示例 ---不可变变量 x = 5可变变量 y 初始值 = 10可变变量 y 修改后 = 15Shadowing 后 z = 25内层作用域 z = 50外层作用域 z = 25常量 PI = 3.1415926函数前 value = 50函数内修改 val = 60函数后 value = 60这个示例覆盖了:
- 默认不可变变量
- 可变变量
mut - Shadowing(遮蔽)
- 常量
const - 函数可变参数(通过可变引用
&mut)