68个版本 (21个稳定版)
1.10.0 | 2024年7月9日 |
---|---|
1.8.0 | 2024年3月19日 |
1.6.1 | 2023年11月20日 |
1.4.1 | 2023年7月17日 |
0.1.0 | 2014年11月27日 |
#1 in 解析器实现
每月下载量 8,485,474
在 13,785 个crate中使用 (4,639 个直接使用)
245KB
4K SLoC
uuid
以下是一个UUID的示例
67e55044-10b1-426f-9247-bb680e5fe0c8
UUID是一个唯一的128位值,存储为16个八位字节,通常以十六进制字符串的形式格式化为五组。UUID用于为实体分配唯一标识符,而无需中央分配权威机构。
它们在分布式系统中特别有用,尽管可以在不同的领域中使用,例如数据库和网络协议。通常,UUID以可读的字符串形式作为十六进制数字的序列显示,由连字符分隔成组。
唯一性属性并非严格保证,但从所有实际目的来看,无意中发生冲突的可能性极低。
入门
将以下内容添加到您的 Cargo.toml
[dependencies.uuid]
version = "1.10.0"
features = [
"v4", # Lets you generate random UUIDs
"fast-rng", # Use a faster (but still sufficiently random) RNG
"macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]
当您需要UUID时,可以生成一个
use uuid::Uuid;
let id = Uuid::new_v4();
如果您有一个UUID值,您可以使用其字符串字面量形式内联使用
use uuid::{uuid, Uuid};
const ID: Uuid = uuid!("67e55044-10b1-426f-9247-bb680e5fe0c8");
您也可以不使用任何crate功能来解析UUID
use uuid::{Uuid, Version};
let my_uuid = Uuid::parse_str("67e55044-10b1-426f-9247-bb680e5fe0c8")?;
assert_eq!(Some(Version::Random), my_uuid.get_version());
如果您想以非常快的速度解析UUID,请查看uuid-simd
库。
有关使用uuid
的更多详细信息,请参阅库文档。
参考
许可证
在以下许可证下发布:
- Apache许可证第2版,(LICENSE-APACHE或https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或https://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,都将按上述方式双授权,不附加任何额外条款或条件。
依赖项
~0–1.1MB
~19K SLoC