Rust 数据类型
概述
Rust 是一种系统编程语言,以其高性能、内存安全以及并发特性而著称。在 Rust 中,数据类型是构成变量和表达式的基石。正确理解和使用数据类型对于编写高效、安全的 Rust 程序至关重要。本文将详细介绍 Rust 中的各种数据类型,包括基本数据类型、复合数据类型以及高级数据类型。
基本数据类型
Rust 提供了丰富的基本数据类型,包括整数、浮点数、字符和布尔值。
整数
整数类型包括 i8, i16, i32, i64, i128 和 u8, u16, u32, u64, u128。其中,i 表示有符号整数,u 表示无符号整数。整数的位数决定了其能表示的数值范围。
rust
let num: i32 = 10;
let num2: u32 = 20;
浮点数
浮点数类型包括 f32 和 f64。f32 是单精度浮点数,而 f64 是双精度浮点数。
rust
let num: f64 = 3.14;
字符
字符类型是 char,用于表示单个 Unicode 字符。
rust
let ch: char = 'A';
布尔值
布尔值类型是 bool,表示真 (true) 或假 (false)。
rust
let is_valid: bool = true;
复合数据类型
复合数据类型是由基本数据类型组合而成的,包括数组、向量、元组和结构体。
数组
数组是一组固定长度的元素序列。在 Rust 中,数组元素类型必须相同。
rust
let nums: [i32; 5] = [1, 2, 3, 4, 5];
向量
向量是一个动态数组,可以存储不同类型的元素。
rust
let vec: Vec<i32> = vec![1, 2, 3, 4, 5];
元组
元组是由多个元素组成的有序列表,元素类型可以不同。
rust
let tuple: (i32, f64, char) = (1, 3.14, 'A');
结构体
结构体是一种自定义数据类型,可以包含多个字段。
rust
struct Person {
name: String,
age: i32,
}
let person = Person {
name: "Alice".to_string(),
age: 25,
};
高级数据类型
Rust 还提供了一些高级数据类型,包括枚举、模式匹配、闭包和特质。
枚举
枚举是一种可以包含多个变体的数据类型。
rust
enum Color {
Red,
Green,
Blue,
}
let color = Color::Red;
模式匹配
模式匹配是一种在运行时检查变量类型和值的语法。
rust
let x = 5;
match x {
1 => println!("one"),
2 => println!("two"),
_ => println!("other"),
}
闭包
闭包是一种可以捕获环境变量的匿名函数。
rust
let add_one = |x| x + 1;
let result = add_one(5);
特质
特质是一种定义共享行为的方法。
rust
trait SayHello {
fn say_hello(&self);
}
struct Greeting {
name: String,
}
impl SayHello for Greeting {
fn say_hello(&self) {
println!("Hello, {}!", self.name);
}
}
let greeting = Greeting {
name: "Alice".to_string(),
};
greeting.say_hello();
总结
Rust 中的数据类型丰富多样,涵盖了基本数据类型、复合数据类型和高级数据类型。正确理解和使用这些数据类型对于编写高效、安全的 Rust 程序至关重要。本文介绍了 Rust 中的各种数据类型,希望对您有所帮助。