【Rust】结构体
2021/11/30 23:39:43
本文主要是介绍【Rust】结构体,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
环境
- Rust 1.55.0
- VSCode 1.59.1
概念
结构体(structure,缩写成 struct)有 3 种类型,使用 struct
关键字来创建:
- 元组结构体(tuple struct),事实上就是具名元组。
- 经典的 C 语言风格结构体。
- 单元结构体(unit struct),不带字段,在泛型中很有用。
示例
单元结构体
#[derive(Debug)] struct Unit; fn main() { let unit = Unit; println!("{:?}", unit) }
元组结构体
struct Pair(i32, f32); fn main() { let pair = Pair(1, 0.1); println!("pair contains {:?} and {:?}", pair.0, pair.1); // 元组结构体的解构 let Pair(integer, decimal) = pair; println!("pair contains {:?} and {:?}", integer, decimal); }
经典 C 结构体
#[derive(Debug)] struct Person { name: String, age: u8, } fn main() { let name = String::from("Peter"); let age = 27; let peter = Person { name, age }; println!("{:?}", peter); println!("person name: {}, person age: {}", peter.name, peter.age); }
C 解构体赋值和嵌套
struct Point { x: f32, y: f32, } #[allow(dead_code)] struct Rectangle { top_left: Point, bottom_right: Point, } fn main() { let point: Point = Point { x: 10.3, y: 0.4 }; println!("point coordinates: ({}, {})", point.x, point.y); // 赋值 let bottom_right = Point { x: 5.2, ..point }; println!("second point: ({}, {})", bottom_right.x, bottom_right.y); // 解构赋值 let Point { x: left_edge, y: top_edge, } = point; println!("{}", left_edge); println!("{}", top_edge); // 解构嵌套 let _rectangle = Rectangle { top_left: Point { x: left_edge, y: top_edge, }, bottom_right: bottom_right, }; }
总结
了解了 Rust 中的结构体,有三种形式的结构体,分别是单元结构体,元组结构体和经典 C 结构体。
对三种结构体进行了初始化和简单的赋值和使用。
附录
这篇关于【Rust】结构体的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现