Rust 简明教程

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);

字段在概念上类似于变量,但它们隶属于一个结构体。由于它们是更大结构(如 PersonCar)的组成部分,所以在 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. 为什么使用结构体?

  • 以整洁清晰的方式对相关联的数据进行分组
  • 使代码的阅读和后期维护变得更加容易
  • 能够完美模拟并创建现实世界的对象模型,例如用户、书籍、汽车等