Rust 编写 derive 宏
宏可以帮助我们减少重复代码的编写,在 Rust 中有两种宏定义,
- 声明宏
- 过程宏
其中,声明宏只是简单的 token
替换,我们无法知道代码结构中的其他信息,过程宏可以获取更加详细的数据,比如我们可以获取结构体中字段的名称,类型等等。
宏可以帮助我们减少重复代码的编写,在 Rust 中有两种宏定义,
其中,声明宏只是简单的 token
替换,我们无法知道代码结构中的其他信息,过程宏可以获取更加详细的数据,比如我们可以获取结构体中字段的名称,类型等等。
在调用函数的时候,可能参数比较多,但是我们只需要修改其中的几个特定参数就可以满足我们的需求,而其他的参数我们希望保持不变,但是 Rust 和 Go 一样,函数调用中不支持默认参数,所以我们必须另寻他法,那么第一感觉我们是不是可以采用 Go 中的 选项模式呢?
虽然 Rust 函数中并不支持变参数传递,但是我们可以通过 宏
来间接达到相同的功能,代码如下
Cargo 和其他很多工具一样,遵循语义版本控制系统,程序库以
$$\text{major.minor.patch}$$
格式指定,其中
major
:项目进行重大更新,且包含不向后兼容的功能minor
:仅在以向后兼容的方式添加新功能patch
:仅在以向后兼容的方式修复错误,并且没有添加任何新的功能