# 结构体 Structs

URL: https://caijiao.org/rust/05-structure/01-structs
Source: docs/rust/05-structure/01-structs.md
Description: 结构体是 Rust 中定义自定义数据类型的主要方式，用于将多个相关数据组合成一个整体，支持方法和所有权管理。

结构体（Structs）允许你创建包含多个字段的复杂数据类型，是 Rust 组织数据的基础。

## 定义结构体

使用 `struct` 关键字定义：

```rust
struct User {
    username: String,
    email: String,
    active: bool,
    sign_in_count: u64,
}
```

## 创建实例

```rust
fn main() {
    let user1 = User {
        username: String::from("alice"),
        email: String::from("alice@example.com"),
        active: true,
        sign_in_count: 1,
    };
    println!("用户名: {}", user1.username);
}
```

## 更新结构体实例

使用结构体更新语法：

```rust
let user2 = User {
    email: String::from("bob@example.com"),
    ..user1
};
```

## 元组结构体

没有字段名的结构体，类似元组：

```rust
struct Color(i32, i32, i32);

let black = Color(0, 0, 0);
```

## 单元结构体

没有字段的结构体，用于实现特征（trait）：

```rust
struct AlwaysEqual;
```

---



Rust Playground 示例代码
