示例配置文件
项目根目录添加 app.yaml 文件
name: Alex
age: 21
gender: male
friends:
- Bob
- Alice
- Tide
需要的依赖
- serde
- serde_yaml
cargo.toml
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.8"
功能实现
extern crate serde_yaml;
extern crate serde;
use serde::{Serialize, Deserialize};
/// 定义 User 类型
#[derive(Debug, Serialize, Deserialize)]
struct User {
name: String,
age: i32,
gender: String,
friends: Vec<String>,
}
fn main() {
// 使用相对路径读取 app.yaml 内容为字符串
let yaml_str = include_str!("../../app.yaml");
// serde_yaml 解析字符串为 User 对象
let user: User = serde_yaml::from_str(yaml_str)
.expect("app.yaml read failed!");
println!("{:?}", user);
}
运行
cargo run
最终结果:
image.png
网友评论