我无法编译将类型从整数转换为字符串的代码。我正在运行Rust for Rubyists tutorial的示例,该示例具有各种类型转换,例如:
"Fizz".to_str()
和num.to_str()
(其中num
是整数)。
我认为这些to_str()
函数调用的大部分(如果不是全部)都已被弃用。将整数转换为字符串的当前方法是什么?
我得到的错误是:
error: type `&'static str` does not implement any method in scope named `to_str`
error: type `int` does not implement any method in scope named `to_str`
答案 0 :(得分:68)
只需使用to_string()
(running example here):
let x: u32 = 10;
let s: String = x.to_string();
println!("{}", s);
你没错,to_str()
在Rust 1.0发布之前被重命名为to_string()
,因为现在称为已分配的字符串String
。
如果您需要在某处传递字符串切片,则需要从&str
获取String
引用。这可以使用&
和deref强制来完成:
let ss: &str = &s; // specifying type is necessary for deref coercion to fire
let ss = &s[..]; // alternatively, use slicing syntax
您链接的教程似乎已过时。如果您对Rust中的字符串感兴趣,可以查看the strings chapter of The Rust Programming Language。