diff --git a/src/basic/base-type/index.md b/src/basic/base-type/index.md index 94743d8d..808b82e2 100644 --- a/src/basic/base-type/index.md +++ b/src/basic/base-type/index.md @@ -2,13 +2,24 @@ 当一门语言不谈类型时,你得小心,这大概率是动态语言(别拍我,我承认是废话)。但是把类型大张旗鼓的用多个章节去讲的,Rust 是其中之一。 -Rust 每个值都有其确切的数据类型,总的来说可以分为两类:基本类型和复合类型。 基本类型意味着它们往往是一个最小化原子类型,无法解构为其它类型(一般意义上来说),由以下组成: +Rust 每个值都有其确切的数据类型,总的来说可以分为两类:基本类型和复合类型。基本类型意味着它们往往是一个最小化原子类型,无法解构为其它类型(一般意义上来说),由以下组成: + +- **数值类型**: + - 有符号整数:`i8`, `i16`, `i32`, `i64`, `i128`, `isize` + - 无符号整数:`u8`, `u16`, `u32`, `u64`, `u128`, `usize` + - 浮点数:`f32`(单精度), `f64`(双精度,默认) + + > **注意**: + > `isize` 和 `usize` 的大小取决于目标平台的指针大小(32 位平台为 4 字节,64 位平台为 8 字节) + +- **字符串切片**:`&str` + +- **布尔类型**:`true` 和 `false` + +- **字符类型**:`char` 表示单个 Unicode 字符(存储为 4 字节),如 `'A'`, `'中'`, `'😻'` + +- **单元类型**:`()`,其唯一可能的值也是 `()` -- 数值类型:有符号整数 (`i8`, `i16`, `i32`, `i64`, `isize`)、 无符号整数 (`u8`, `u16`, `u32`, `u64`, `usize`) 、浮点数 (`f32`, `f64`)、以及有理数、复数 -- 字符串:字符串字面量和字符串切片 `&str` -- 布尔类型:`true` 和 `false` -- 字符类型:表示单个 Unicode 字符,存储为 4 个字节 -- 单元类型:即 `()` ,其唯一的值也是 `()` ## 类型推导与标注