macro宏

宏和函数的区别

  1. 宏可以接收可变的参数
  2. 宏定义必须在调用前

声明宏

典型的例子是vec!,声明宏是基于match来完成,语法也非常相似

程序宏

必须单独的package中声明。
参数是代码,所以更加灵活,功能更加强大;
通常要配合syn和quote两个crate来解析代码和生成代码。

rust没有反射功能,可以通过程序宏定义来实现功能。
AOP可以通过声明宏实现

,
© 2023 PLAYAROUND All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero