宏(Macro)是一种元编程(metaprogramming)的工具。
Rust 中宏分为以下两种类型:
- 声明式宏(Declarative Macros)允许开发者使用宏规则(macro_rules!)创建模式匹配和替换规则,根据匹配到的模式进行代码替换。
- 声明式宏是一种基于文本的宏,它仅仅是简单的文本替换,并没有对语法树进行操作。
- 过程宏(Procedural Macros)允许开发者在代码生成阶段使用 Rust 代码来处理输入并生成输出。
- 过程宏有三种主要类型:派生宏(derive macros)、属性式宏(attribute-like macros)和函数式宏(function-like macros)。
2024/11/14大约 2 分钟