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 程序设计语言中文版

相关推荐
传奇开心果编程4 小时前
【Rust入门练中学】第6课:结构体与方法
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
本地化文档5 小时前
cutile-rs-book-l10n
rust·gpu·nvidia·cuda·sphinx·crowdin
qq_406981038 小时前
大白话rust系列09 函数调用两次有什么错?
开发语言·python·rust
康小旺9 小时前
TypeScript 编译器开始卷 Rust 了:Cloudflare 的 tsrs 到底想干嘛?
rust·typescript
Norna9 小时前
时间轮的 +1,为什么最后只留在顶层
rust
轻舟技术A15 小时前
Rust 重写 Pi:会话启动耗时降 91%,就绪内存少 78%
开发语言·后端·rust
unconditional16 小时前
外部命令改不了你的 shell:sdkm 怎么做到"回车即生效"
rust·开源
程工造Agent16 小时前
从 0 到 1 学 Codex 源码:为什么 let b = a 之后,a 就不能用了?
rust·ai编程
Norna16 小时前
方差怎么会是 −32:nushell math variance 的一次数值修复
rust
JavaPub-rodert16 小时前
王仕宇分享:Oxigraph 是什么?用 Rust + RocksDB 搭一个轻量 RDF/SPARQL 知识图谱数据库
数据库·rust·知识图谱