# Rust 中的过程宏

过程宏(Procedural macros)是一种更为高级的宏。过程宏能够扩展 Rust 的现有语法。它接收任意输入并产生有效的 Rust 代码。

过程宏接收一个TokenStream作为参数并返回另一个TokenStream。过程宏对输入的TokenStream进行操作并产生一个输出。有三种类型的过程宏:

属性式宏(Attribute-like macros) 派生宏(Derive macros) 函数式宏(Function-like macros) 接下来我们将会对它们进行详细讨论。