Rust 结构体
1. 结构体 (Structs)
结构体(Struct,"structure" 的缩写)是一种自定义的数据结构,允许将相关联的值组合在一起。
你可以把结构体想象成专门针对某一事物的微型数据库,例如包含姓名和年龄的人(Person)。
2. 创建结构体
你可以使用 struct 关键字来定义一个结构体,并在其内部放置字段(变量):
示例
struct Person {
name: String,
age: u32,
can_vote: bool,
}一旦拥有了结构体定义,就可以实例化创建它的对象。
随后,可以使用点语法(.)来访问结构体的各个字段:
示例
// 创建一个名为 Person 的结构体
struct Person {
name: String,
age: u32,
can_vote: bool,
}
// 创建一个 Person 对象
let user = Person {
name: String::from("John"),
age: 35,
can_vote: true,
};
// 访问并打印值
println!("Name: {}", user.name);
println!("Age: {}", user.age);
println!("Can vote? {}", user.can_vote);字段在概念上类似于变量,但它们隶属于一个结构体。由于它们是更大结构(如 Person 或 Car)的组成部分,所以在 Rust 中它们被称为字段(fields),而不是常规的变量。
3. 修改字段
要修改结构体内部的值,必须使用 mut 关键字将该结构体对象声明为可变(mutable):
示例
struct Person {
name: String,
age: u32,
}
let mut user = Person {
name: String::from("John"),
age: 35,
};
user.age = 36; // 修改 age 字段的值
println!("Name: {}", user.name);
println!("Updated age: {}", user.age);4. 为什么使用结构体?
- 以整洁清晰的方式对相关联的数据进行分组
- 使代码的阅读和后期维护变得更加容易
- 能够完美模拟并创建现实世界的对象模型,例如用户、书籍、汽车等