HoRain云--Rust结构体速查指南:30秒掌握核心技巧
Rust结构体快速指南:包含三种类型(具名、元组、单元),支持字段访问、可变实例、方法定义和关联函数。高级特性涵盖泛型、生命周期注解。可通过derive自动实现Debug等常用trait,适用于数据封装、类型安全和代码复用。文章还推荐了技术专栏和服务器购买网站,适合Rust初学者快速掌握结构体核心概念。
🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
专栏名称 |
专栏介绍 |
本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
|
本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
|
全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
|
本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
|
本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
|
本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录
Rust 中的结构体(Struct)是一种用于自定义数据类型的基础工具,它允许你将多个相关的值组合在一起,形成一个有意义的整体,从而增强代码的可读性、可维护性和类型安全。
下面是一个快速了解 Rust 结构体主要特性的表格:
特性分类 |
说明 |
示例或形式 |
---|---|---|
结构体类型 |
具名结构体 (最常用) |
|
元组结构体 |
|
|
单元结构体 |
|
|
实例化与访问 |
实例化 |
|
访问字段 |
|
|
可变性 |
默认不可变。需整体可变: |
|
字段初始化简写 |
变量名与字段名相同时可简写: |
|
结构体更新语法 |
|
|
方法 |
实例方法 (使用 |
|
关联函数 (类似静态方法) |
|
|
多个 |
允许为同一结构体定义多个 |
|
高级特性 |
泛型结构体 |
|
生命周期注解 |
|
|
常用 Trait |
|
用于打印调试信息: |
|
允许显式创建值的副本。 |
🧱 结构体类型
Rust 支持三种结构体:
-
具名结构体 (Named Struct):最常见,字段有明确名称。
-
元组结构体 (Tuple Struct):字段没有名称,通过索引访问,常用于封装不同类型或赋予元组更明确的类型含义。
-
单元结构体 (Unit-like Struct):不含任何字段,常用于在特定类型上实现 trait 或作为标记类型。
🛠️ 实例化、访问与可变性
-
实例化:使用
let var_name = StructName { field1: value1, field2: value2, ... };
语法创建结构体实例。 -
访问字段:通过点号
.
访问。 -
可变性:结构体可变性是整体的。使用
mut
关键字声明可变实例后,所有字段都可变。 -
字段初始化简写:当变量名与字段名相同时,可简写。
-
结构体更新语法 (
..
):基于已有实例创建新实例时非常方便,但需注意所有权问题(例如String
等未实现Copy
trait 的类型会被移动)。
⚙️ 方法与关联函数
使用 impl
块为结构体定义方法:
-
实例方法:第一个参数为
self
(常用&self
只读访问,&mut self
修改数据,self
获取所有权)。 -
关联函数:不以
self
为参数,常用于构造函数(如new
),通过StructName::function_name()
调用。 -
一个结构体可以有多个
impl
块。
🚀 高级特性与概念
-
泛型结构体:提高代码复用性,可对泛型参数进行约束。
-
生命周期注解:当结构体包含引用时,必须使用生命周期注解确保引用的有效性。
-
内存布局:Rust 编译器会自动优化结构体字段排列以减少内存占用。
🔧 常用 Trait
可通过 #[derive(...)]
属性自动为结构体派生一些常用 trait:
-
Debug
: 方便打印调试信息。 -
Clone
: 允许显式创建值的副本。(其他常用 trait 如
Copy
,Eq
,PartialEq
,Hash
等也可按需派生。)
💡 应用场景
结构体广泛应用于:
-
数据封装与组织
-
类型安全与抽象(如用不同结构体包装相同基础类型以避免混淆)
-
代码复用与扩展
-
实现面向对象的设计模式
希望这些信息能帮助你快速上手 Rust 结构体。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐
所有评论(0)