iconf/
lib.rs

1pub mod configs;
2
3#[cfg(test)]
4mod tests {
5    use super::*;
6
7    #[test]
8    fn it_works()  -> std::io::Result<()> {
9        println!("Hello, world!");
10
11        let file_path = String::from("E://irust//iconf//src//config.toml");
12
13        unsafe {
14            let _ = configs::init(file_path);
15            println!("{:?}", configs::CONFIG);
16
17            let c = configs::CONFIG.as_ref().unwrap();
18            println!("{:?}", c);
19
20            println!("{}", c.file_path());
21            println!("{}", c.settings());
22
23            let env = c.settings()["basics"]["env"].as_str().unwrap();
24            let port = c.settings()["basics"]["port"].as_integer().unwrap();
25            println!("env={} port={}", env, port);
26
27            print_type_of(&port);
28
29            println!("env = {}", configs::get_str("basics", "env"));
30            println!("port = {}", configs::get_int("basics", "port"));
31            println!("pi = {}", configs::get_float("basics", "pi"));
32            println!("isOk = {}", configs::get_bool("basics", "isOk"));
33            print_type_of(&configs::get_bool("basics", "isOk"));
34
35        }
36
37        Ok(())
38    }
39}
40
41fn print_type_of<T>(_: &T) {
42    println!("print_type_of 类型是 = {}", std::any::type_name::<T>())
43}