Rust_2025:阶段1:day6.3 macro
定义语法
macro_rules! my_macro {() => {println!("Check out my macro!");};($val:expr) => {println!("Look at this other macro: {}", $val);}
}
- 有点像模式匹配,对my_macro后面的东西进行匹配
- 宏参数类型定义:
$expr:表达式
$ident:标识符
$ty:类型
$block:代码块
$pat:模式
宏在模块中的可见性
mod macros {#[macro_export]macro_rules! my_macro {() => {println!("Check out my macro!");};}
}
- #[macro_export] 用于导出宏定义,使其可以在所有模块中使用。