11 个版本
0.2.9 | 2019 年 12 月 15 日 |
---|---|
0.2.8 | 2019 年 11 月 9 日 |
0.2.5 | 2019 年 10 月 29 日 |
0.1.2 |
|
#189 in 无标准库
每月下载 27 次
24KB
394 行
numid
此软件包提供 numid!
宏,用于生成类似数值 ID 的结构。
示例
use numid::numid;
numid!(pub struct MyId -> 10);
fn main() {
let id1 = MyId::new();
let id2 = MyId::new();
assert!(id2 > id1);
assert_eq!(id1.value(), 11);
assert_eq!(id2.value(), 12);
}
用法
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
numid = "0.2"
现在您可以在程序中创建所有需要的 ID
use numid::numid;
numid!(struct Id); // basic id
numid!(pub struct Id2); // public
numid!(pub(crate) struct Id3); // restricted public
numid!(#[doc(hidden)] struct Id4); // with attribut
numid!(struct Id5 -> 100); // init const specified
numid!(struct Id6(u128)); // type specified
numid!(@CloneIsReproduce struct Id7); // with in-macro special attribute
numid!(#[doc(hidden)] @CloneIsNew pub struct Id8(u32) -> 10); // all the thing you can want
有关更多信息,请参阅 文档。
待办事项列表
serde
功能