#struct-fields #reflection #iterator #proc-macro #derive

field_iterator

用于遍历结构体字段的可派生特性

1 个不稳定版本

0.1.0 2024年4月10日

#2022 in Rust 模式

MIT 许可证

4KB

字段迭代器

基于废弃的 struct_iterable。其余的 README 内容来自它。

这是 fields-iter fields-iter 的替代方案。

如何使用

首先,将包添加到您的 Cargo.toml

[dependencies]
field_iterator = "0.1.1"

然后,在 Rust 文件顶部包含库

use field_iterator::Iterable;

最后,将 #[derive(Iterable)] 属性添加到您的结构体中

#[derive(Iterable)]
struct MyStruct {
    field1: u32,
    field2: String,
    // etc.
}

现在,您可以遍历结构体实例的字段

let my_instance = MyStruct {
    field1: 42,
    field2: "Hello, world!".to_string(),
};

for (field_name, field_value) in my_instance.iter() {
    println!("{}: {:?}", field_name, field_value);
}

限制

  • 仅支持具有命名字段的结构体。

贡献和许可证

如果您有兴趣贡献,请随时提交一个拉取请求。对于重大更改,请先打开一个问题来讨论您想更改的内容。

此包采用 MIT 许可证。

依赖项

~275–730KB
~17K SLoC