【一起学Rust | 进阶篇】使用Bon快速生成builder,提高代码质量


前言

在 Rust 编程语言中,除了广为人知的单例模式之外,工厂模式也是极为容易见到的一种设计模式。工厂模式在 Rust 中不仅出现频率高,而且还是官方大力推荐的写法。无论是 Rust 的标准库,还是众多的第三方库中,工厂模式都十分常见。

在以往进行编程的时候,如果想要实现工厂模式,通常需要编写一个结构体,接着再去实现新的方法以及构建方法。然而,现在有厉害的开发者发布了 Bon 库。这个库能够让实现工厂模式变得非常轻松,只需要在你的代码中添加相应的注解,就能够自动生成代码。这样一来,就可以省去大量的时间。

bon是一个非常实用的 Rust 库。这个库主要用于为函数和结构体生成一种在编译时就能进行检查的构建器。通过使用“bon”库,开发人员可以更加高效地构建函数和结构体,并且在编译阶段就能够发现潜在的错误,从而提高代码的质量和可靠性。此外,“bon”库还为函数和方法提供了带有可选参数和命名参数的惯用部分应用。这种特性使得函数和方法的调用更加灵活,可以根据不同的需求进行参数的选择和组合,进一步增强了 Rust 代码的可扩展性和可维护性。

类似于 Java 中的 Lombok 库,当你在项目中使用了它之后,类的属性的 getter 和 setter 等功能便无需你亲自去编写了。而这里提到的“bon”,它的作用在于使得 builder 不用你自己去编写。Lombok 库为 Java 开发者带来了极大的便利,通过简化代码的编写过程,提高了开发效率。同样,“bon”在特定的场景下也发挥着重要的作用,为开发者省去了编写 builder 的繁琐工作,让开发过程更加流畅和高效。


一、安装Bon

将此内容添加到你的Cargo.toml以使用这个库:

[dependencies]
bon = "2.2.1"

在非标准环境(no_std environments)中,可以通过将 default-features 设置为 false 来选择不使用 std 和 alloc cargo 特性。

或者在你的项目下执行以下命令

cargo add bon

版本用最新的就好了,这里只是个示例。

二、使用步骤

1.为方法实现builder

bon 可以通过构建器将带有位置参数的函数转换为带有 “具名” 参数的函数。只需在函数上方放置 #[builder] 宏即可轻松实现。这意味着使用 bon 这个工具,对于原本使用位置参数的函数,可以通过特定的方式(添加 #[builder] 宏)将其转换为使用具名参数的函数形式,使得函数调用更加清晰和灵活。例如,原本可能需要按照特定顺序传入参数的函数,现在可以通过指定参数名称来传入参数(链式调用)。

use bon::builder;
// 只需要下面一行注解
#[builder] 
fn greet(name: &str, age: u32) -> String {
   
    format!("Hello {name} with age {age}!")
}

// 就可以实现链式调用
let greeting = greet()
    .name("Bon")
    .age(24)
    .call();

assert_eq!
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广龙宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值