3 个稳定版本
1.0.2 | 2023 年 3 月 27 日 |
---|---|
1.0.1 | 2022 年 4 月 27 日 |
#30 在 #lazy
56 每月下载量
7KB
lazy_fn
lazy_static
为函数提供支持!
使属性函数 "lazy",它只会被评估一次,并将结果缓存起来,从而作为静态引用返回。
用法
在您的 Cargo.toml
[dependencies]
lazy_fn = "1"
lazy_static = "1"
在您的代码中
#[macro_use] extern crate lazy_fn;
#[lazy_fn]
fn maths() -> i32 {
9 + 10
}
#[lazy_fn]
fn hello_world() -> &'static str {
"hello, world!"
}
#[lazy_fn]
fn hello_fmt() -> String {
format!("hello, {}!", "world")
}
let maths: &'static i32 = maths();
let hello_world: &'static str = hello_world();
let hello_fmt: &'static String = hello_fmt();
lib.rs
:
lazy_static
为函数提供支持!
用法
在您的 Cargo.toml
[dependencies]
lazy_fn = "1"
lazy_static = "1"
#[lazy_fn]
fn maths() -> i32 {
9 + 10
}
#[lazy_fn]
fn hello_world() -> &'static str {
"hello, world!"
}
#[lazy_fn]
fn hello_fmt() -> String {
format!("hello, {}!", "world")
}
let maths: &'static i32 = maths();
let hello_world: &'static str = hello_world();
let hello_fmt: &'static String = hello_fmt();
依赖
~1.5MB
~36K SLoC