4.7 宏
05-宏 — Comprehensive Rust
1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/control-flow-basics/macros.html
4.7 宏
宏在编译期间展开为 Rust 代码,可以接受可变数量的参数。它们以末尾的 ! 区分。Rust 标准库提供了一系列有用的宏。
println!(format, ..)向标准输出打印一行,并应用std::fmt中描述的格式化。format!(format, ..)与println!类似,但把结果作为字符串返回。dbg!(expression)记录表达式的值并返回它。todo!()标记某段代码尚未实现。若执行到这里,会 panic。
| |
本节要带走的是:这些常用便利工具存在,以及如何使用它们。它们为何定义为宏、展开成什么,并不是特别关键。
本课程不涵盖如何定义宏,但后续章节会介绍 derive 宏的用法。
扩展阅读
标准库还提供许多其他有用的宏。若学员想了解更多,可以分享以下例子:
assert!及相关宏可用于在代码中添加断言。它们在编写测试时被大量使用。unreachable!用于标记理论上永远不会走到的控制流分支。eprintln!允许你向 stderr 打印。