derive-field-values
为结构体派生 field_values() 方法,返回所有字段值的 Vec<String>。支持跳过字段和转换。
安装
[]
= "0.25.0"
使用
use derive_field-FieldValues;
let p = Person ;
assert_eq!;
跳过字段
#[derive(FieldValues)]
struct User {
username: String,
#[field_values(skip)]
password: String,
}
自定义字段
#[derive(FieldValues)]
struct Log {
level: String,
#[field_values(transform = "to_uppercase")]
message: String,
#[field_values(transform = "debug")]
metadata: Vec<i32>,
}
引用版本
#[derive(FieldValues)]
struct LogLine<'a> {
level: &'a str,
message: &'a str,
}
let log = LogLine { level: "INFO", message: "Hello" };
assert_eq!(log.field_values_ref(), vec!["INFO", "Hello"]);