我的目的是创建一个单例,但不知道如何在 Rust 中处理这个问题,我读过this和this,但不确定这是否是创建一个简单单例的方法,因为一个说的是“可变单例”,另一个说的是“可变单例” “安全静态单例”。
单例只是一块延迟初始化的静态数据。这意味着你确实想要lazy-static
。
注意
对于给定的
static ref NAME: TYPE = EXPR;
,宏生成一个唯一的类型,该类型实现Deref<TYPE>
并将其存储在具有名称的静态中NAME
。
这意味着NAME
实际上类似于“单例”的构造函数,并且&*NAME
是“单例”本身。