22 个稳定版本
2.0.3 | 2023 年 11 月 29 日 |
---|---|
2.0.0 | 2022 年 8 月 11 日 |
1.10.0 | 2021 年 12 月 5 日 |
1.9.0 | 2021 年 8 月 21 日 |
1.2.1 | 2019 年 2 月 16 日 |
#87 在 Rust 模式 中
106,845 每月下载量
用于 36 个 库(16 个直接使用)
20KB
150 行
lazy_format
一个用于惰性格式化事物的 [no_std]
库。因为只为将字符串写入缓冲流而分配临时字符串对你的健康不利。
use std::io;
use lazy_format::lazy_format;
use joinery::JoinableIterator;
fn main() {
let result = (0..10)
.map(|value| lazy_format!("\t'{}'", value))
.join_with("\n")
.to_string();
assert_eq!(result,
" '0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'")
}
上面的示例是关键动机示例:当你构建一些想要写入或格式化的对象时,没有必要分配中间字符串(这就是 format!
所做的)。相反,lazy_format!
捕获其参数,并返回一个具有 Display
实现的不透明结构体,这样实际的格式化就可以直接进入其最终目标缓冲区(例如文件或字符串)。