Rust 项目配置方案总结

学习笔记作者:admin日期:2025-09-18点击:13

摘要:本文总结了在 Rust 中实现无外部依赖的配置读取方法,包括环境变量、自定义配置文件和编译时静态配置,并推荐使用 serde + JSON 作为最佳实践。

1. 环境变量(.env 文件)

      无需引入第三方库,适合简单配置。

use std::env;

fn main() {
    let db_url = env::var("DATABASE_URL").expect("DATABASE_URL not set");
    // ...
}

2. 自定义 .conf 文件

      手动解析键值对,适用于轻量级配置。

use std::fs;
use std::collections::HashMap;

fn read_config(path: &str) -> HashMap {
    // ...
}

3. 编译时静态配置

      将配置写入代码中,适合固定值。

pub const DATABASE_URL: &str = "sqlite://data.db";

4. 推荐方案:serde + JSON

      虽然需要依赖,但结构清晰,类型安全。

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
use serde::Deserialize;
use std::fs;

#[derive(Deserialize)]
struct Config {
    database_url: String,
    api_endpoint: String,
    port: u16,
    debug: bool,
}

上一篇      下一篇