2013-04-28 221 views
16

This Question pertains to a pre-release version of Rust.
This younger Question is similar.如何將char轉換爲字符串?


我試圖通過io::println功能

fn main() { 
    io::println('c'); 
} 

打印一個符號,但我得到了一個錯誤:

$ rustc pdst.rs 
pdst.rs:2:16: 2:19 error: mismatched types: expected `&str` but found `char` (expected &str but found char) 
pdst.rs:2  io::println('c'); 
          ^~~ 
error: aborting due to previous error 

如何字符轉換爲字符串?

UPDATE

直接類型轉換不起作用:

let text:str = 'c'; 
let text:&str = 'c'; 
let text:@str = 'c'; 
let text:~str = 'c'; 

它返回:

pdst.rs:7:13: 7:16 error: bare `str` is not a type 
pdst.rs:7  let text:str = 'c'; 
         ^~~ 
pdst.rs:7:19: 7:22 error: mismatched types: expected `~str` but found `char` (expected ~str but found char) 
pdst.rs:7  let text:str = 'c'; 
          ^~~ 
pdst.rs:8:20: 8:23 error: mismatched types: expected `&str` but found `char` (expected &str but found char) 
pdst.rs:8  let text:&str = 'c'; 
           ^~~ 
pdst.rs:9:20: 9:23 error: mismatched types: expected `@str` but found `char` (expected @str but found char) 
pdst.rs:9  let text:@str = 'c'; 
           ^~~ 
pdst.rs:10:20: 10:23 error: mismatched types: expected `~str` but found `char` (expected ~str but found char) 
pdst.rs:10  let text:~str = 'c'; 
           ^~~ 
error: aborting due to 5 previous errors 

回答

14

您現在可以使用c.to_string(),其中c是您的變量類型char

+2

這似乎沒有明確說明,但它是真實的,因爲char的實現顯示和顯示實現需要to_string,但是您不會從Display文檔知道這一點,這是記錄在ToString特徵上的。這不是很好。 https://doc.rust-lang.org/std/string/trait.ToString.html – 2017-02-09 23:41:22