Rust 语言如何实现读取 yaml 配置文件

2021-12-01  本文已影响0人  子十一刻

示例配置文件

项目根目录添加 app.yaml 文件

name: Alex
age: 21
gender: male
friends:
  - Bob
  - Alice
  - Tide

需要的依赖

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
上一篇 下一篇

猜你喜欢

热点阅读