我想申报锈String
不变,但我得到一个编译器错误我不能做的试图声明中预期类型的字符串常量结果,发现“我的字符串”
const DATABASE : String::from("/var/lib/tracker/tracker.json");
感
和这里就是我得到的,当我尝试编译:
error: expected type, found `"/var/lib/tracker/tracker.json"`
--> src/main.rs:19:31
|
19 | const DATABASE : String::from("/var/lib/tracker/tracker.json");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: expected one of `!`, `+`, `->`, `::`, or `=`, found `)`
--> src/main.rs:19:64
|
19 | const DATABASE : String::from("/var/lib/tracker/tracker.json");
| ^expected one of `!`, `+`, `->`, `::`, or `=` here
你试过'const DATABASE = String ::'而不是'const DATABASE:'?这意味着你正在注释这种类型,你不知道。 – perfect5th
我确实尝试过。这里是编译器输出: '错误:预期':',找到'=''为: 'const DATABASE = String :: from(“f”)' – arsalan86
啊......你必须注释一个类型const,你不能使用'String',因为它需要一个静态大小,所以你必须使用'&str'。试试这个:'const DATABASE:&str =“/var/lib/tracker/tracker.json”;'See Shepmaster's answer。 – perfect5th