Avatar ·

如何在Rust中声明全局作用域的常量数组?

大家好!我开始学习Rust,遇到了一个我觉得很奇怪的问题。我试图在全局作用域中声明一个数组,以便从不同函数中访问它,但编译器报错了。\n\n这是我尝试做的:\n\n```rust\nconst DAYS: [&str; 7] = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"];\n```\n\n但编译器提示“constant expression depends on a generic parameter”或“evaluation of constant value failed”。尽管在其他语言(C、Java)中这没有问题。\n\n我也尝试过:\n\n```rust\nstatic DAYS: [&str; 7] = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"];\n```\n\n然后编译器报错:“static items cannot have a non-Sync type”。\n\n请问如何正确地在全局作用域中声明一个常量字符串数组?我需要数组是不可变的并且可以从任何地方访问。也许我遗漏了Rust关于常量和静态变量的某些规则?\n\n感谢提供带工作示例的解释。