#getters #attributes #struct #macro-derive #methods #field #logic

getters0

Rust Getters Derive 宏:轻松自动生成可定制的Rust结构体getter方法

2个版本

0.1.1 2023年11月20日
0.1.0 2023年11月20日

#6#getters

GPL-2.0 许可证

15KB
180

Rust Getters Derive 宏库

这个Rust库提供了一种强大且易于使用的过程宏derive_getters_fn,用于自动为结构体字段生成getter方法。该库旨在简化在Rust结构体中创建getter的过程,从而提高代码清晰度和开发效率。

特性

  • 自动getter生成:简化了在Rust结构体中为每个字段创建getter的过程。这个特性在大型结构体或处理复杂数据结构时尤其有用。

  • 通过属性可定制:提供一系列属性来自定义生成getter方法的行为。例如,属性use_derefuse_as_refget_mutskip_newgetter_logicskip_getter允许开发者根据特定需求定制getter。

  • 支持各种字段类型:无论是命名字段还是匿名字段(例如元组中的字段),宏可以高效地处理它们,确保为每种情况生成适当的getter。

  • 可变getter:除了标准的不可变getter之外,该库还支持使用get_mut属性生成可变getter,提供了更大的灵活性。

  • getter的自定义逻辑:getter_logic属性允许将自定义逻辑集成到getter方法中,提供了创建比简单字段访问更复杂的getter的能力。

  • 可选构造函数生成:使用skip_new属性,用户可以选择为结构体生成构造函数方法(new)。这对于确保在实例化时结构体的完整性特别有用。

使用方法

该库设计得易于使用。在将库包含到项目中后,只需使用以下注解标注您的结构体#[derive(Getters)],并根据需要使用提供的属性来定制getter生成。

目标受众

这个库非常适合经常处理结构体的Rust开发者,并需要一种高效的方式来生成获取器。在数据封装和面向对象模式普遍的应用程序中尤其有用。

依赖项

~260–700KB
~17K SLoC