diff --git a/src/chapter_3/chapter_3_2.md b/src/chapter_3/chapter_3_2.md index 77e67d3..d6fed86 100644 --- a/src/chapter_3/chapter_3_2.md +++ b/src/chapter_3/chapter_3_2.md @@ -24,7 +24,7 @@ Rust中的整型和浮点型如下: 上面的表格中,f32和f64为浮点型,其它为整型。浮点型和整型一起构成数值型。 (1)可以在数值字面量后面加上类型表示该类型的数值,如下: -``` +```Rust fn main(){ let _a = 33u32; // 直接加类型后缀 let _b = 33_i32; // 使用_分隔数值和类型 @@ -33,7 +33,7 @@ fn main(){ } ``` (2)可以数值的任意位置使用下划线分割来增强可读性,如下: -``` +```Rust fn main(){ let _a = 10_000_000u32; let _b = 1_234_3_u32; @@ -41,14 +41,14 @@ fn main(){ } ``` (3)当不明确指定变量的类型,也不明确指定数值字面量的类型后缀时,Rust默认将整数当做i32类型,将浮点数当做f64类型,如下: -``` +```Rust fn main(){ let _a = 33; // 等价于 let _a: i32 = 33; 等价于 let _a = 33i32; let _b = 64.123; // 等价于let _b: f64 = 64.123; 等价于 let _b = 64.123f64; } ``` (4)Rust使用0b表示二进制、0o表示八进制、0x表示十六进制,如下: -``` +```Rust fn main(){ let a: u32 = 0b101; // 二进制整数 let b: i32 = 0o17; // 八进制整数 @@ -58,7 +58,7 @@ fn main(){ } ``` (5)Rust中所有的数值类型都支持基本数学运算:加、减、乘、除、取余,如下: -``` +```Rust fn main() { let sum = 5 + 10; let difference = 95.5 - 4.3; @@ -72,7 +72,7 @@ fn main() { - 布尔型 Rust中的布尔型用bool表示,有两个可能的值,为true和false。布尔类型使用的场景主要是条件表达式(控制流的内容),使用如下: -``` +```Rust fn main() { // 定义方式 let a: bool = true; @@ -96,7 +96,7 @@ fn main() { - 字符类型 char类型用于存放单个unicode字符,占用4个字节空间。当存储char类型数据时,Rust会将其转换为utf-8编码的数据存储。char字面量是单引号包含的任意单个字符,字符类型使用示例如下: -``` +```Rust fn main() { let c: char = 'z'; let x: char = 'x'; @@ -110,13 +110,13 @@ fn main() { - 元组 圆括号以及其中逗号分割的值列表组成元组,定义一个元组方式如下: -``` +```Rust fn main() { let tup: (i32, f64, u8) = (500, 6.4, 1); } ``` 可以将元组重新结构到变量上,如下: -``` +```Rust fn main() { let tup = (500, 6.4, 1); let (x, y, z) = tup; @@ -124,7 +124,7 @@ fn main() { } ``` 也可以直接使用元组的元素,如下: -``` +```Rust fn main() { let x: (i32, f64, u8) = (500, 6.4, 1); let first = x.0; @@ -134,7 +134,7 @@ fn main() { ``` 不带任何值的元组,称为unit类型(单元元组),可以代表空值或者空的返回类型,如下: -``` +```Rust fn main() { let x: () = (); // 将值()保存到类型为()的变量x中 } @@ -143,7 +143,7 @@ fn main() { - 数组 数组中的每个元素的类型必须相同,数组的长度是固定的,数组的定义方式如下: -``` +```Rust fn main() { let a = [1, 2, 3, 4, 5]; //直接写数组的值 let b: [i32; 5] = [1, 2, 3, 4, 5]; //显示指定数组的类型和长度 @@ -151,7 +151,7 @@ fn main() { } ``` 数组通过索引来访问元素,索引从0开始计数,如下: -``` +```Rust fn main() { let a = [1, 2, 3, 4, 5]; @@ -160,7 +160,7 @@ fn main() { } ``` Rust中,访问无效的索引元素会报错,如下: -``` +```Rust fn main() { let a = [1, 2, 3, 4, 5]; let b = a[5]; // 错误,只能放为0-4,所以这个代码将无法编译 @@ -177,7 +177,7 @@ Rust中可以使用as进行类型转换。 - 可以通过as将u8转换为char类型。 - 可以使用std::char::from_u32将u32转换为char类型。 - 可以使用std::char::from_digit将十进制整型转换为char类型。 -``` +```Rust fn main() { // 数值类型的转换 assert_eq!(10i8 as u16, 10u16);