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研习社28 分钟前
这 8 个 Rust 学习资源值得每个新手收藏起来
后端·rust·编程语言
星栈1 天前
10 分钟跑起第一个 Dioxus 应用:`dx` CLI、`rsx!` 和热更新好不好用
前端·rust·前端框架
望眼欲穿的程序猿1 天前
读取芯片内部温度传感器
嵌入式硬件·rust
望眼欲穿的程序猿1 天前
ADC 模拟电压采集
嵌入式硬件·rust
codexu_4612291871 天前
NoteGen 里一条记录如何变成 Markdown
前端·笔记·rust·tauri
Rust研习社1 天前
Rust 错误处理的黄金搭档:一个定义错误,一个传播错误
后端·rust·编程语言
techdashen1 天前
绕过系统 ICMP:用 rawsock、Npcap 和 WMI 找到默认网卡
开发语言·arm开发·rust
小二·1 天前
Rust 后端实战:高性能 Web 服务开发全链路
开发语言·前端·rust
island13141 天前
【开源软件移植】把 RustDesk 的 Rust 核心搬到 HarmonyOS PC:一次 Native HAR 迁移实战记录
开发语言·rust·harmonyos
小二·1 天前
Rust 爬虫与数据处理实战:大规模并发抓取 + 流式处理
开发语言·爬虫·rust