创建一个静态const Vec <string>

时间:2017-03-13 12:47:42

标签: rust

我正在尝试使用可以在我的代码上重复使用的一些设置初始化Vec<String>

我正在使用const left: Vec<String> = vec![...,但这不起作用:

error[E0308]: mismatched types
  --> names-generator.rs:2:27
   |
2  | const left: Vec<String> = vec![
   |                           ^ expected slice, found array of 93 elements
   |
   = note: expected type `Box<[std::string::String]>`
   = note:    found type `Box<[&str; 93]>`
   = note: this error originates in a macro outside of the current crate

建议这样做的方法是什么?

更新: 我不知道这是如何标记为重复。这两个相关的问题是无关的。

1 个答案:

答案 0 :(得分:8)

你想让它变得可变吗?如果没有,你可以使用数组,例如:

const LEFT: [&'static str; 3] = ["Hello", "World", "!"];
# or
const LEFT: &'static [&'static str] = &["Hello", "World", "!"];

const基本上被复制到任何地方,因此第二种形式可能更好,具体取决于数组的大小。