gpt4 book ai didi

scope - 跨多个模块访问单例

转载 作者:行者123 更新时间:2023-11-29 08:36:25 26 4
gpt4 key购买 nike

<分区>

我正在尝试使用 lazy_static crate 创建一个单例并在不同的模块中使用它。这是可能的,甚至是推荐的吗?我仍在学习 Rust 程序应该如何构建,并且一直在使每个文件成为自己的模块。

我在 main.rs 中有以下内容,我可以访问它的值

lazy_static! {
static ref GAMEDATA: gamedata::data::GameDataS =
gamedata::data::load_data("./src/assets/data.json".to_string());
}

fn main() {
println!("data{}", GAMEDATA.width);
}

当尝试访问不同模块中的 GAMEDATA 时,我得到

not found in this scope

例如在名为 game 的模块中

pub struct Game {}
impl Game {
println!("data{}", GAMEDATA.width);
}

是否可以在所有模块中创建一个全局变量?我应该考虑其他方法吗?也许不经常使用模块?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com