使用macro_rules!创建宏

  • Rust中宏系统可以让其进行元编程,宏的定义和函数的区别在于有没有!。宏不会产生调用,会被编译成源码和其他部分一起编译。
  • 宏定义的最后一个分支可以不使用分号作为结束。
  • 参数使用$进行标注,参数类型如果是expression,使用:expr标注;参数名标注使用:ident;运算符和标记使用tt标记。
  • 多个参数根据实际情况,如果是>=1使用+;>=0使用*

DRY(不重复写代码)

  • 没咋看明白。