📜  Rust 中的原始复合数据类型(1)

📅  最后修改于: 2023-12-03 15:19:53.092000             🧑  作者: Mango

Rust 中的原始复合数据类型

在 Rust 中,有三种基本的复合数据类型:元组、数组和结构体。这些类型都允许在一个单一的变量中存储多个值。

元组

元组是一组由逗号分隔的值。元组的类型写成包含在括号中的值的列表,如(i32, f64, u8)。元组可以有任意数量和任意类型的值。

以下是一个创建元组和访问元组元素的例子:

let my_tuple = (42, 3.14, 'a');
let (x, y, z) = my_tuple;

println!("x is {}", x); // 输出 x is 42
println!("y is {}", y); // 输出 y is 3.14
println!("z is {}", z); // 输出 z is a
数组

数组是具有固定长度的相同类型的值的集合。在 Rust 中,使用方括号来声明一个数组[T; N],其中T是数组的元素类型,N是数组的长度。

以下是一个创建数组和访问数组元素的例子:

let my_array: [i32; 5] = [1, 2, 3, 4, 5];

println!("my_array[0] is {}", my_array[0]); // 输出 my_array[0] is 1
println!("my_array[2] is {}", my_array[2]); // 输出 my_array[2] is 3

请注意,Rust 中的数组是固定长度的,这意味着你不能动态添加或删除元素。

结构体

结构体是可以包含不同类型的命名字段的自定义数据类型。在 Rust 中,结构体被定义为一个struct关键字后跟结构体的名称和字段列表。

以下是一个创建结构体和访问结构体字段的例子:

struct Person {
    name: String,
    age: u8,
    email: String,
}

let person = Person {
    name: String::from("John Doe"),
    age: 42,
    email: String::from("john.doe@example.com"),
};

println!("{} is {} years old and his email is {}", person.name, person.age, person.email); // 输出 John Doe is 42 years old and his email is john.doe@example.com

结构体字段可以是任何有效的 Rust 类型,包括元组和数组。你可以使用.操作符访问结构体中的字段。

以上是 Rust 中的三种原始复合数据类型的介绍。它们是 Rust 中非常重要的基本数据类型,因为它们允许在一个变量中存储多个值。这在 Rust 编程中很常见,因此请确保对这些类型有一个很好的理解。