📅  最后修改于: 2023-12-03 15:19:53.092000             🧑  作者: Mango
在 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 编程中很常见,因此请确保对这些类型有一个很好的理解。