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