#settings #ini #conf #gostd

gostd_settings

gostd_settings 是一个用于读写属性配置文件的库。是一个用于读写属性配置文件的库

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配置

Download history 155/week @ 2024-03-16 11/week @ 2024-03-23 21/week @ 2024-03-30 7/week @ 2024-04-06

每月下载量 103

MIT 许可证

15KB
147

gostd_settings

crates.io Released API docs GPL3 licensed Downloads of Crates.io Lines of code Build Languages

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