Rust 结构体分类

文章目录

1.分类

Rust 中的结构体(struct)根据其字段定义方式,主要分为三种类型

类型 语法示例 特点 访问方式
具名字段结构体 struct User { name: String, age: u8 } 每个字段都有名称和类型,最常用。 user.name
元组结构体 struct Color(u8, u8, u8) 字段没有名称,只有类型,类似元组。 color.0, color.1
单元结构体 struct Unit; 没有任何字段。 无需访问

2.代码示例

rust 复制代码
// 1. 具名字段结构体(Named-Field Struct)
struct User {
    name: String,
    age: u8,
}

// 2. 元组结构体(Tuple Struct)
struct Color(u8, u8, u8);

// 3. 单元结构体(Unit Struct)
struct MyUnit;

fn main() {
    // 具名字段结构体实例化
    let user = User {
        name: String::from("Alice"),
        age: 30,
    };
    println!("name: {}", user.name);

    // 元组结构体实例化
    let black = Color(0, 0, 0);
    println!("black: ({}, {}, {})", black.0, black.1, black.2);

    // 单元结构体实例化
    let _unit = MyUnit;
}

3.其他相关分类方式

除了上述三种基本类型,结构体还可以从其他角度分类:

分类角度 类型 说明
可见性 pub struct(公开) struct(私有) 控制结构体是否可以被外部模块访问。
泛型 struct Point<T> { x: T, y: T } 结构体可以使用泛型参数来支持多种类型。
生命周期 struct Ref<'a, T> { ptr: &'a T } 当结构体包含引用时,需要标注生命周期参数。

4.小结

Rust 结构体根据字段定义方式分为具名字段、元组、单元三种;此外还可以按可见性、泛型、生命周期进一步分类。


参考文献

定义和举例说明结构体- Rust 程序设计语言中文版

相关推荐
Rust研习社10 小时前
Tonic 加入 gRPC 官方项目,Rust 云原生生态进入了新阶段
开发语言·后端·云原生·rust
望眼欲穿的程序猿11 小时前
Rust+STM32F103
嵌入式硬件·rust
星栈独行1 天前
我在 Rust 全栈项目里用 JWT 做无状态认证
开发语言·后端·rust·前端框架·开源·github·web
Vallelonga1 天前
Rust Conversion 工具 trait AsRef AsMut
开发语言·rust
Vallelonga1 天前
Rust 中的“解引用”和智能指针与 MutexGuard 等
开发语言·rust
小杍随笔1 天前
【Rust 工具链管理工具再升级!rust-verse v1.3.1 ~ v1.3.5 最新更新深度解析】
开发语言·后端·rust
Vallelonga1 天前
Rust 从结构体中取字段的引用
开发语言·rust
五月君_1 天前
Rust 重写 AI 味太浓,Bun 被 yt-dlp 封版本、Electrobun 直接解绑
开发语言·后端·rust
qwepoih21 天前
用 Rust 从零打造一个 CLI 脚手架工具
rust