引言
在上一章中,我们在一个孤立的环境中对 Ticket
进行了建模:我们定义了其字段及其约束,学习了如何用 Rust 最好地表示它们,但我们并未考虑 Ticket
如何融入更大的系统中。本章将围绕 Ticket
构建一个简单的工作流程,引入一个基本的管理系统来存储和检索票据。
此任务将为我们提供探索 Rust 新概念的机会,包括:
- 堆分配的数组
Vec
,一种可增长的数组类型,以及切片Iterator
和IntoIterator
,用于遍历集合- 切片(
&[T]
),用于操作集合的部分 - 生命周期,描述引用的有效期
HashMap
和BTreeMap
,两种键值数据结构Eq
和Hash
,用于在HashMap
中比较键Ord
和PartialOrd
,用于操作BTreeMap
Index
和IndexMut
,用于访问集合中的元素