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,
}