不同模块中的Rust常量?

use*_*741 10 rust rust-cargo

我有这个"main.rs"文件,我声明了一个版本常量.

pub const VERSION: &'static str = "v2";
mod game;
fn main() {
   do_stuff();
}
Run Code Online (Sandbox Code Playgroud)

然后我想在另一个模块"game.rs"中访问这个全局常量:

pub fn do_stuff() {
   println!("This is version: {}", VERSION);
}
Run Code Online (Sandbox Code Playgroud)

如何使常量可用?

Dog*_*ert 12

正如VERSION声明的那样main.rs,它是一个crate root,你可以使用它的绝对路径来访问它:::VERSION.

这应该工作:

pub fn do_stuff() {
    println!("This is version: {}", ::VERSION);
}
Run Code Online (Sandbox Code Playgroud)

  • 注意,在现代 Rust 中你应该使用“crate::Version” (2认同)