9 个版本
0.1.7 | 2021 年 12 月 29 日 |
---|---|
0.1.6 | 2021 年 12 月 24 日 |
0.1.5 | 2021 年 1 月 2 日 |
0.1.4 | 2018 年 12 月 26 日 |
0.0.0 | 2018 年 10 月 22 日 |
#286 在 并发
2,871 每月下载量
在 10 个 软件包中使用 (直接使用 7 个)
18KB
168 行
uid
uid(代表 唯一 标识符)是一个软件包,用于在 Rust 程序中创建唯一 ID。ID 在程序中可以有许多用途,但此软件包的 ID 主要用于标识任务。例如,考虑某种形式的简单内存数据库(以 HashMap
或更复杂的结构形式)。此软件包创建的 ID 完美地作为主键。
这些 ID 具有一些属性,根据上下文,这些属性可能很有用
- ID 轻量级,最终只是一个带有一些编译时魔法(以及少量创建成本)的数字。
- 创建的 ID 保证是唯一的。也就是说,在运行时创建时(出于明显的原因,不支持反序列化),两个新创建的 ID 保证永远不会相同。
- 它们是完全线程安全的。也就是说,即使在不同的线程之间,唯一性也是保证的。
- ID 是不可变的。一旦创建,ID 可以(可能)被复制、哈希、比较等,但不能更改。
- ID 可以形成名称(或类型)空间。也就是说,ID 可以通过任意(可能是私有的)类型进行参数化,并且只有通过相同类型参数化的 ID 可以交互(即进行比较等)。