头条地址:https://www.ixigua.com/i6775861706447913485
B站地址:https://www.bilibili.com/video/av81202308/
github地址:https://github.com/anonymousGiga/learn_rust
讲解内容1、Rust中的宏主要有两种,一种是使用macro_rules!的声明宏,一种是过程宏。而过程宏又主要分为三种:
(1)自定义宏#[derive],在结构体、枚举等上指定通过derive属性添加代码;
(2)类属性宏,定义可用于任意项的自定义属性;
(3)类函数宏,看起来像函数但是作用于作为参数传递的Token。
2、宏和函数
(1)宏是一种为写其它代码而写代码的方式。宏对于减少大量编写代码和维护代码非常有用。
(2)一个函数标签必须声明函数参数个数和类型,宏只接受可变参数。
(3)宏的定义比函数的定义更复杂。
(4)在调用宏 之前 必须定义并将其引入作用域,而函数则可以在任何地方定义和调用。