Rust 结构体
提示
- 结构体的定义与用途:Rust结构体是用户定义的数据类型,允许将不同类型的数据组合在一起,如存储个人信息(名字、年龄、身高)。
- 结构体实例化与字段访问:通过指定字段值来实例化结构体,然后使用点
.
运算符访问这些字段,如person.name
访问name
字段。 - 结构体解构与可变性:可以解构结构体以分解为更小的变量,使用
let Person { name, age, height } = person;
。若需修改结构体,声明时加mut
关键字。
Rust 结构体或结构是用户定义的数据类型,用于将不同类型的数据存储在一 起。
假设我们想存储一个人的名字、年龄和身高。为此,我们可以为每个属性/字段创建变量。
let personName: String = String::from("John Doe");
let personAge: u8 = 18;
let personHeight: u8 = 178;
这种方法的问题在于我们必须分别维护所有这些变量。要为多个人存储这些字段,我们将不得不为每个人创建不同的变量。
相反,我们可以创建一个结构体,将所有字段作为一个单元存储在一起。例如,
struct Person {
name: String,
age: u8,
height: u8
}
在 Rust 中定义结构体
在 Rust 中,我们使用 struct
关键字来定义结构。结构的语法是:
struct struct_name {
field1: data_type,
field2: data_type,
field3: data_type
}
这里,
struct
- 定义结构的关键字struct_name
- 结构的名称field1: data_type/field2: data_type
- 结构内部字段的名称和数据类型。
让我们看一个例子。
struct Person {
name: String,
age: u8,
height: u8
}
这里,我们定义了一个名为 Person
的结构体。它包含三个字段:
name
- 数据类型为String
age
- 数据类型为u8
height
- 数据类型为u8