目录
- 结构体的定义和实例化
- 使用字段初始化简写语法
- 使用结构体更新语法从其他实例创建实例
- 使用没有命名字段的元组结构体来创建不同的类型
- 没有任何字段的类单元结构体
- 结构体示例程序
- 通过派生 trait 增加实用功能
- 方法语法
- 定义方法
- 带有更多参数的方法
- 关联函数
- 多个 impl 块
本文有删减,原文请参考使用结构体组织相关联的数据。
struct 或者 structure 是一个自定义数据类型,允许你包装和命名多个相关的值,从而形成一个有意义的组合。
结构体的定义和实例化#
和元组一样,结构体的每一部分可以是不同类型。但不同于元组,结构体需要命名各部分数据以便能清楚的表明其值的意义。
由于有了这些名字,结构体比元组更灵活:不需要依赖顺序来指定或访问实例中的值。
定义结构体的语法如下。
struct User {
active: bool,
username: String,
email: String,
sign_in_count: u64,
}
注意:在大括号中定义的名字和类型称为 字段(field)。
结构体实例的创建和可变赋值如下:
fn main() {
//创建一个结构体的实例
let mut user1 = User {