Rust 宏与元编程

•什么是元编程。
•Rust中的宏及其形式。
•声明性宏、宏变量及类型。
•重复构造。
•过程宏。
•宏的用例。
•可用的宏程序库。

什么是元编程?

元编程是改变你查看程序中指令和数据方式的一种技术。它允许你像处理任何其他数据那样通过指令生成新的代码。
无论使用何种语言构造的程序一般都包含两个实体:数据和操作数据的指令。通常程序的运行过程都涉及操纵数据。

Rust宏的应用场景

一般的经验法则是,宏可以在函数无法提供所需解决方案的情况下使用,其中的代码具有相当的重复性,或者在需要检查类型结构体并在编译期生成代码的情况下使用宏。会用到Rust宏,如下。
•通过创建自定义领域特定语言(Domain-Specific Lan-guage,DSL)来扩展语言语法。
•编写编译期序列化代码,就像serde那样。
•将计算操作移动到编译期,从而减少运行时开销。
•编写样板测试代码和自动化测试用例。
•提供零成本日志记录抽象,例如log软件包。

Rust中的宏及其类型

首先,编译器逐字节地读取源代码,并将字符分组为有意义的块,这些块被称为令牌。

声明式宏:这些是宏的最简单形式。它们是使用macro_rules!宏创建的,其本身就是一个宏。它们提供与调用函数类似的功能,但是很容易通过名称末尾的!予以区分。它们是在项目中快速编写小型宏的首选方法。定义它们的语法与编写match表达式的方式非常相似。它们被称为声明式宏,这意味着你已经拥有了一个迷你型的DSL,然后可以识别标记类型和重复构造,使用它们可以声明式地表达你想要生成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值