3 个版本
0.1.2 | 2021年1月23日 |
---|---|
0.1.1 | 2020年11月21日 |
0.1.0 | 2020年11月21日 |
#57 在 #newtype
8KB
my-own-uuid
此 crate 导出一个宏,可以更方便地创建自己的新类型 Uuid。这不是功能最全面的宏,它内置了许多假设,例如 Serde 和使用 Uuid v4。这些假设源于我的个人工作流程,我发现这个宏非常方便。
安装
在您的 Cargo.toml 中
[dependencies]
my-own-uuid = "0.1.0"
您何时想使用此类宏?
当您在单个对象上处理多种类型的 Id 时,拥有各种 Uuid 可以有效地让您感觉像在使用动态语言。这尤其是在游戏开发中,或在需要大量资产管理的发展中。想象一下,您有使用 Uuid 作为某些唯一标识符(可能是其保存文件)的实体,您还有使用 Uuid 的资产。您还有 Prefabs,这是一种实体,您像处理 Asset 一样处理它,它也有自己的 Uuid。正如您所想象的那样,这需要很多 Uuid 并确保不会出错。
这个新类型包装器极大地简化了过程,但只是通过添加小的编译器错误来警告您不要意外混淆您的 Uuid。直接使用 .0
访问新类型,您就可以完全控制原始 Uuid 数据。让我们的新类型成为一个不透明的包装器不是本项目的主要目标。
许可
此 crate 在 Apache 2.0 和 MIT 许可证下双许可。用户可以选择任一许可证。
依赖项
~0.7–1.4MB
~31K SLoC