【rust】【lazy_static】

lazy_static

https://zhuanlan.zhihu.com/p/52705020

官方文档

https://segmentfault.com/a/1190000019897166?utm_source=tag-newest

干什么

(全局)静态变量

怎么用

extern crate lazy_static;
use lazy_static::lazy_static;

lazy_static! {
   //支持注释
  [pub] static ref NAME_1: TYPE_1 = EXPR_1;
  ...
  [pub] static ref NAME_N: TYPE_N = EXPR_N;
}

注:ref参数: 这里 static == static ref (1)方法的定义和调用都必须显示使用ref关键字 (2)使用ref的参数必须先初始化,没有初始化会报错

注意

一般和mutex和rwlock一起使用(为了避免数据竞争,全局变量是一个内存,多线程操作的时候,如果又有读又有写,就会有冲突)

 

 

 



posted @ 2021-01-16 22:26  carrotmvp  阅读(815)  评论(0编辑  收藏  举报