4 个版本
0.1.4 | 2024年3月19日 |
---|---|
0.1.3 | 2022年6月14日 |
0.1.1 | 2022年6月12日 |
0.1.0 | 2022年6月12日 |
198 在 配置 中
每月下载量 103
15KB
147 行
gostd_settings
gostd_settings 是一个用于读写属性配置文件的库。是一个用于读写属性配置文件的库
新建配置并保存到文件
use gostd_settings::{Settings, builder};
fn main() {
let mut p = builder().file_type_properties().build();
p.set_property("HttpPort", "8081");
p.set_property(
"MongoServer",
"mongodb://10.11.1.5,10.11.1.6,10.11.1.7/?replicaSet=mytest",
);
p.set_property_slice(
"LogLevel",
["Debug", "Info", "Warn"].iter().map(|s| s.to_string()).collect(),
);
match p.store_to_file("config.properties") {
Ok(()) => println!("store to file app.conf success"),
Err(err) => println!("store to file app.conf failed: {}", err),
}
}
// output
$ cat config.properties
HttpPort = 8081
LogLevel = Debug,Info,Warn
MongoServer = mongodb://10.11.1.5,10.11.1.6,10.11.1.7/?replicaSet=mytest
从文件读取配置
use gostd_settings::{builder, Settings};
fn main() -> Result<(), std::io::Error> {
let file = "./config.properties";
let mut p = builder().file_type_properties().build();
p.load_from_file(file)?;
if let Some(http_prot) = p.property("HttpPort") {
println!("{}", http_prot)
}
if let Some(logLevel) = p.property_slice("LogLevel") {
println!("{:?}", log_level)
}
Ok(())
}
// output
8081
["Debug", "Info", "Warn"]
依赖
~10–18MB
~327K SLoC