返回
Rust 之 Struct 基础进阶
后端
2024-02-08 18:27:54
Rust 中的 Struct
在 Rust 中,struct 是数据结构,允许您将相关数据字段组合在一起。struct 可以具有方法(functions associated with a struct type)和关联函数(functions associated with the struct type itself)
Struct 的语法
struct StructName {
field1: Type1,
field2: Type2,
...
}
StructName
是结构的名称。field1
、field2
等是结构的字段。Type1
、Type2
等是字段的类型。
Struct 的定义
struct User {
name: String,
age: u32,
active: bool,
}
上面的代码定义了一个名为 User
的结构。这个结构有两个字段:name
、age
和 active
。
Struct 的使用
let user1 = User {
name: "John Doe".to_string(),
age: 30,
active: true,
};
let user2 = User {
name: "Jane Doe".to_string(),
age: 25,
active: false,
};
上面的代码创建了两个 User
结构的实例。
Struct 的方法
impl User {
fn greet(&self) {
println!("Hello, my name is {}!", self.name);
}
}
上面的代码定义了 greet
方法。greet
方法允许我们以一种结构化的方式访问和操作 User
结构的数据。
Struct 的关联函数
impl User {
fn new(name: String, age: u32, active: bool) -> User {
User {
name,
age,
active,
}
}
}
上面的代码定义了 new
关联函数。new
关联函数允许我们以一种结构化的方式创建 User
结构的实例。
Struct 的特性
Rust 中的 struct 具有以下特性:
- 封装 :struct 将数据隐藏在字段中,并通过方法公开数据。这使得数据更加安全,并允许您控制对数据的访问。
- 可组合性 :struct 可以组合在一起形成更大的结构。这使得您可以创建复杂的数据结构,并轻松地对这些结构进行操作。
- 重用性 :struct 可以被重用,以创建多个具有相同字段和方法的数据结构。这使得您可以节省时间并减少代码重复。
Rust 中的常用结构体
struct | **** |
---|---|
std::vec::Vec |
一个动态数组,可以根据需要增长或缩小。 |
std::string::String |
一个可变长度的字符串。 |
std::hash::HashMap |
一个哈希表,可以根据键快速查找值。 |
std::collections::BTreeMap |
一个二叉搜索树,可以根据键快速查找值。 |
总结
Rust 中的 struct 是强大的数据类型,可以用于组织和存储数据。struct 可以具有方法和关联函数,并可以实现各种特性。Rust 中的 struct 广泛用于各种应用程序,包括游戏、网络应用程序和操作系统。