13个版本
0.1.8 | 2024年6月9日 |
---|---|
0.1.7 | 2024年6月5日 |
0.1.6 | 2024年5月25日 |
0.0.5 | 2024年1月25日 |
0.0.4 | 2023年8月29日 |
#444 in 数据结构
16KB
278 行
UID UidStore
生成包含字母、数字或base62值的随机uid字符串。
生成随机UID的函数
使用任何罗马字母或数字生成固定长度的随机字符串。
let uid = random_string(8);
使用任何罗马字母或数字生成固定长度的随机字符串,排除因字体难以阅读而常被混淆的字母。排除字母0 o O l L i I。
let uid = human_random_string(8);
将数字转换为base62编码的字符串
let uid = number_to_uid(1000);
将base62编码的字符串转换为数字。如果字符串不是有效的base62字符串,则返回None。
let uid = uid_to_number(1000).unwrap();
生成保证唯一的随机UID。
如果你使用的是短UID,发生冲突的机会很高。使用UidStore来保存以前的UID值,以确保不会生成重复的值。
生成一个保证唯一的10字符UID字符串序列
let mut u = UidStore::new();
let uid = u.next(10);
生成一个大小受限的UID字符串序列,以便适合无符号整数类型。
let mut u = UidStore::new();
let uid = u.next_u16();
let uid = u.next_u32();
let uid = u.next_u64();
如果这个UID已经在bucket中,则生成一个新的uid。
let mut u = UidStore::new();
if let Some(uid) = u.make_unique("0123456789") {
println!("New UID generated. {}", uid);
}