#macro #lazily #initialized #static #lazy-evaluation #delay #type

no-std delay_init

用于声明延迟初始化类型的宏

12个版本

0.2.0 2024年7月20日
0.1.10 2024年6月21日

#2089 in Rust模式

Download history 702/week @ 2024-06-15 63/week @ 2024-06-22 40/week @ 2024-06-29 110/week @ 2024-07-20 105/week @ 2024-07-27

每月245次下载

MIT许可证

4KB
58

延迟初始化

Rust宏,用于声明延迟初始化的静态类型。


lib.rs:

这是一个围绕标准声明延迟初始化类型的便捷包装器。

示例

使用[DelayInit]结构体

use delay_init::*;
use std::collections::HashMap;

static NUMBERS : DelayInit<HashMap<i32,i32>> = DelayInit::new(|| {
    let mut map = HashMap::new();
    map.insert(12,12);
    map.insert(13,13);
    map
});

fn main() {
    println!("{}", NUMBERS.get(&12).unwrap());
}

使用[delay]宏

use delay_init::*;
use std::collections::HashMap;

delay! {
    static NUMBERS : HashMap<i32,i32> = {
        let mut map = HashMap::new();
        map.insert(12,12);
        map.insert(13,13);
        map
    };
}

fn main() {
    println!("{}", NUMBERS.get(&12).unwrap());
}

依赖项

~37KB