1 个稳定版本
1.0.0 | 2021 年 8 月 10 日 |
---|
#920 在 Rust 模式
2,219 每月下载量
用于 17 个 crate(13 个直接)
6KB
defer-lite
Go 的 defer 语句的 Rust 实现,作为 defer!
宏,在周围作用域结束时执行代码块。
此 crate 专注于提供轻量级、高性能、无 std
的 defer!
宏实现。
使用方法
在您的 Cargo.toml
中添加依赖项
[dependencies]
defer-lite = "1.0.0"
示例
最简单的示例
use defer_lite::defer; // import the defer! macro
fn main() {
defer! { println!("Second"); }
println!("First");
}
多语句
use defer_lite::defer;
fn main() {
defer! {
println!("Second");
println!("Third");
}
println!("First");
}
在 Go 中,defer 代码在函数退出时运行。在此 Rust 实现中,代码在周围作用域结束时运行——这使得可以在循环中使用 defer
use defer_lite::defer;
fn main() {
defer! { println!("End"); }
println!("Before");
for i in 0..2 {
defer! { println!("Defer {}", i); }
println!("Loop {}", i);
}
println!("After");
}
许可证
在 MIT 许可证 下授权,有关详细信息,请参阅 LICENSE.md。