diff --git a/src/chapter_3/chapter_3_1.md b/src/chapter_3/chapter_3_1.md index e3c734a..8cae11b 100644 --- a/src/chapter_3/chapter_3_1.md +++ b/src/chapter_3/chapter_3_1.md @@ -1,7 +1,7 @@ ## 3.1 变量和可变性 ### 3.1.1 绑定 在Rust中,将值和变量关联的过程称为绑定,变量的绑定可以使用let关键字,如下: -``` +```Rust let a = 1; // 将1绑定到变量a let mut b = 2; // 将2绑定到变量b let some_number = Some(2); // 将Some(2)绑定到some_number @@ -11,20 +11,20 @@ let some_number = Some(2); // 将Some(2)绑定到some_number Rust中变量分为不可变变量和可变变量。不可变变量不能对其进行二次绑定,可变变量可以对其进行二次绑定。 - 不可变变量定义方式如下: -``` +```Rust let a: u32 = 1; //将1绑定到a这个变量 let b = 0u32; let c = 1; //定义时不指定类型,可以自动类型推导 ``` 对不可变变量二次绑定一个值会报错: -``` +```Rust let a: u32 = 1; //将1绑定到变量a,a为不可变变量, a = 2; //编译错误,a是不可变的变量,不能进行二次绑定 ``` - 可变变量定义方式如下: -``` +```Rust let mut a: u32 = 1; //通过mut关键字定义可变变量 a = 2; //将2绑定到变量a,编译正确,因为a是可变变量,可以进行二次绑定 let mut b = 2; @@ -36,13 +36,13 @@ b = 3; ### 3.1.3常量 常量是绑定到一个名称不允许改变的值,定义方式如下: - ``` +```Rust const HOUR_IN_SECONDS: u32 = 60 * 60; ``` 常量和不可变变量的区别: - 不允许对常量使用mut关键字,它总是不可变的,定义时必须显式的标注类型; -``` +```Rust let a = 1u32; //编译正确 let a = 1; //编译正确 @@ -52,7 +52,7 @@ const C = 2; //编译错误 ``` - 常量可以在任何作用域声明,包括全局作用域; - 常量只能被设置为常量表达式,不能是在运行时计算出来的值。 -``` +```Rust let a: u32 = 1; let b: u32 = 2; const A: u32 = a + b; //编译错误 @@ -61,7 +61,7 @@ const A: u32 = a + b; //编译错误 ### 3.1.4 隐藏 Rust中可以定义一个与之前的变量同名的变量,这称之为第一个变量被第二个变量隐藏。隐藏和mut的区别:隐藏是定义了一个新的变量,而使用mut是修改原来的变量。 -``` +```Rust fn main() { let a: u32 = 1; //这个变量a被下面的a隐藏掉了 let a: u32 = 2; //定义了一个新的变量,这个变量也叫作a