学习Rust设计模式23:Fold
1、描述
在数据集的每个元素上运行一个算法,使每个元素变成一个新的元素,从而创建一个新的集合。 类似于迭代器的map操作。
2、示例
分别有三个模块,collection是定义的数据集;fold模块定义的抽象的folder接口,提供了默认的实现;rename模块实现了folder的trait,提供了新的fold实现,代码如下:
学习Rust设计模式24:组合结构体
1、描述
为了绕过编译器的借用检查,一种设计是将一个大的结构体设计为几个小结构体的组合。
2、示例
对于如下代码:
因为编译器的规则,第15行打开将会报错。此时我们可以使用组合结构体来绕过编译器,使用组合结构体的代码如下:
领取专属 10元无门槛券
私享最新 技术干货