# derive-field-values
[](https://crates.io/crates/orz)
[](https://docs.rs/orz)
为结构体派生 `field_values()` 方法,返回所有字段值的 `Vec<String>`。支持跳过字段和转换。
## 安装
```toml
[dependencies]
derive-field-values = "0.25.0"
```
## 使用
```rust
use derive_field-values::FieldValues;
#[derive(FieldValues)]
struct Person {
name: String,
age: u32,
email: String,
}
let p = Person {
name: "Alice".to_string(),
age: 30,
email: "alice@example.com".to_string(),
};
assert_eq!(p.field_values(), vec!["Alice", "30", "alice@example.com"]);
```
## 跳过字段
```
#[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"]);
```