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

相关推荐
wflynn22 分钟前
GitHub 今日推荐|Stela:在 PC 上直接启动 macOS 的翻译层
rust·开源·github
aifannihao2 小时前
Rust 1.100 的 DropGuard:用 Python 实测失败回滚与吞异常
python·rust·异常处理·标准库·contextlib
鶴哥只手遮天8 小时前
《rustc 内幕》第 1 章 全景:rustc 编译流水线与 crate 版图
后端·rust·开源
SomeOtherTime1 天前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
SomeOtherTime1 天前
Rust集合(AI回答)
开发语言·后端·rust
SomeOtherTime2 天前
Rust 泛型与特性讲解(AI回答)
rust
青川Lapis2 天前
RUST:错误处理 thiserror + anyhow 工程化
rust
SomeOtherTime2 天前
Rust生命周期介绍(AI回答)
开发语言·后端·rust
SomeOtherTime3 天前
Rust所有权(AI回答)
开发语言·后端·rust
SomeOtherTime3 天前
Rust 面向对象介绍(AI回答)
开发语言·python·rust