我想申報鏽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