RustTheBook学习笔记02——变量与可变性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fn main() {
// 声明变量,默认不可变
let x = 5;
println!("the value of x is {}", x);

// 声明一个可变的变量
let mut y = 5;
y = 6;
println!("the value of y is {}", y);

// 声明一个常量
// 必须 注明值的类型
const MAX_POINTS:i32 = 100_000;

// 隐藏
let z = 10;
let z = z + 1;
let z = z + 1;
println!("the value of z is {}", z);
}

隐藏:

我们可以定义一个与之前变量同名的新变量,而新变量会隐藏之前的变量。Rustacean们称之为第一个变量被第二个隐藏了,这意味着使用这个变量时会看到第二个值。可以用相同变量名称来隐藏一个变量,以及重复使用let关键字来多次隐藏。

隐藏的好处:

当我们需要给变量作类型转换的时候,不需要在变量名后面加上类型后缀了,更加的简洁,例如:

1
2
3
let age: String = String::from("20");
let age: i32 = age.parse().unwrap();
println!("age is {}", age); // age is 20

我们不需要分别把变量命名为age_strage_num,使用隐藏可以很好的完成类型转换而不更换变量名