Rust 简明教程

Rust 数据类型

1. 数据类型

与许多其他编程语言不同,在 Rust 中,变量在声明时通常不需要强制指定具体的类型(如果您熟悉 C 或 Java,您可能知道文本对应的 "String" 或数字对应的 "Int")。

在 Rust 中,变量的类型由您赋予它的值决定。Rust 会检查这个值并自动选择合适的类型:

示例

let my_num = 5; // 整数
let my_double = 5.99; // 浮点数
let my_letter = 'D'; // 字符
let my_bool = true; // 布尔值
let my_text = "Hello"; // 字符串

不过,您仍然可以明确地告诉 Rust 某个值应该是什么类型:

示例

let my_num: i32 = 5; // 整数
let my_double: f64 = 5.99; // 浮点数
let my_letter: char = 'D'; // 字符
let my_bool: bool = true; // 布尔值
let my_text: &str = "Hello"; // 字符串

在本教程的后续章节中,您将进一步学习何时需要显式指定类型。无论采用哪种方式,理解不同类型代表的含义都至关重要。

Rust 中的基本数据类型分为几个不同的组别:

  • 数字 - 整数和小数(i32f64
  • 字符 - 单个字母或符号(char
  • 字符串 - 文本,即一系列字符(&str
  • 布尔值 - 真或假值(bool

2. 数字

数字类型分为两大类:整数类型和浮点数类型。

2.1 整数 (i32)

i32 类型用于存储正的或负的整数(如 123 或 -456),不包含小数部分:

示例

let age: i32 = 25;
println!("Age is: {}", age);

2.2 浮点数 (f64)

f64 类型用于存储包含一个或多个小数位的数字:

示例

let price: f64 = 19.99;
println!("Price is: ${}", price);

3. 字符 (char)

char 类型用于存储单个字符。一个 char 值必须用单引号括起来,例如 'A''c'

示例

let myGrade: char = 'B';
println!("{}", myGrade);

4. 字符串 (&str)

&str 类型用于存储一系列字符(文本)。字符串值必须用双引号括起来:

示例

let name: &str = "John";
println!("Hello, {}!", name);

5. 布尔值 (bool)

bool 类型只能取两个值:true(真)或 false(假):

示例

let is_logged_in: bool = true;
println!("User logged in? {}", is_logged_in);

6. 组合数据类型

您可以在同一个程序中混合使用不同的数据类型:

示例

let name = "John";
let age = 28;
let is_admin = false;

println!("Name: {}", name);
println!("Age: {}", age);
println!("Admin: {}", is_admin);