8 个版本
0.3.0 | 2020 年 9 月 24 日 |
---|---|
0.2.0 | 2020 年 9 月 17 日 |
0.1.5 | 2020 年 9 月 17 日 |
#2775 in Rust 模式
每月 22 次下载
18KB
237 行代码(不包括注释)
ts_static
惰性静态和线程安全访问静态值的包装宏及结构体。
可在全局作用域或模块作用域中使用。
ts_static 使用的作用域需要导入 lazy_static
用法
ts_static!(STATIC_NAME, Type);
示例
ts_static!(MY_STATIC_NAME, i32);
静态设置为 ThreadSafeStruct<T>
。
使用 set
成员函数设置值。
使用 with
成员函数与值交互。
可以直接访问互斥锁字段 value
,但对于大多数需求,应该使用辅助函数
设置值
MY_STATIC_NAME.set(Some(1337));
使用值
MY_STATIC_NAME.with(|value| {
*value += 1
}).expect(".with failed");
清除值
MY_STATIC_NAME.set(None);
HashMaps
如果您的 T
是 HashMap
,则有两个辅助函数
insert(key, value)
- 添加或更新值remove(key)
- 获取并删除值
这些函数与 HashMap 类型类似,但保证是线程安全的。
依赖
~10KB