Rust как использовать переменную из другого файла?

Изучаю Rust, возник вопрос. Могу ли я как-нибудь использовать переменную из другого файла? Искал в интернете, особо ничего не нашел.

Допустим, у меня есть файл, в котором я храню конфиг своей программы, и который в дальнейшем буду изменять.

// config.rs
struct Config {
    version: String,
}

static config: Config = Config { version: "1.0" };

Как мне, допустим, в main.rs получить доступ к переменной config и получить/изменить значение version?


Ответы (1 шт):

Автор решения: Edward Grachev

Не самый верный вариант: config.rs

   struct Config {
        version: String,
    }
    
    impl Config {
        fn new() -> Result<Config, &'static String>{
            let version = "1.0".to_string();
            return Ok(Config { version });
        }
    }
    
    pub mod get_version {
        use crate::config::Config;
    
        pub fn new() -> String {
            return Config::new().unwrap().version;
        }
    }

main.rs

mod config;

pub use crate::config::get_version::new as get_version;

fn main() {
    println!("{}", get_version());
}
→ Ссылка