Macro
宏在编译期展开代码,实现元编程:代码生成代码,避免重复与样板。
用途
编译期代码变换,消除样板与实现 DSL。
机制
C 宏:文本替换(预处理器)。Rust 宏:卫生宏展开为 AST。Lisp 宏:代码即数据。JS 模板字面量标签。宏比函数更灵活但更难调试,需谨慎使用。
用例
- 代码生成
- DSL 构建
- 样板消除
宏在编译期展开代码,实现元编程:代码生成代码,避免重复与样板。
编译期代码变换,消除样板与实现 DSL。
C 宏:文本替换(预处理器)。Rust 宏:卫生宏展开为 AST。Lisp 宏:代码即数据。JS 模板字面量标签。宏比函数更灵活但更难调试,需谨慎使用。