01.变量和可变性
变量的声明
在 rust 中,变量通过 let 关键字声明,如:
rust
let x = 32;可变性
在 rust 中,变量默认是不可变的,即声明后不可修改,如不可以:
rust
let x = 32;
x = 64要使得变量是可变的,需要在声明时使用 mut 关键字:
rust
let mut x = 32;
x = 64;常量
常量使用 const 关键字声明。
特性:
- 常量不可变,也不能使用
mut关键字声明 - 常量的类型必须被标注,如
u32 - 常量可以在包括全局作用域内的任何作用域内声明
命名规范:
常量使用全大写字母进行命名,如果需要分隔,使用下划线分隔。
例子:
rust
const MAX_POINTS: u32 = 100_100;隐藏(shadowing)
对于声明的默认不可变变量,如果后续再次声明(而不是重新赋值)同名变量,则之前声明的这个变量将被隐藏。
rust
fn main() {
// 隐藏( shadowing )
let x = 10;
let x = 5;
println!("x is {}", x);
}输出:x is 5
且再次声明的变量类型可以与之前不同:
rust
fn main() {
// 隐藏( shadowing )
let x = 10;
let x = 5;
let x = " ";
println!("x is {}", x);
}输出:x is