String 转换格式!()从字符串到&';静态str
我很难理解如何插值一个数字并以正确的格式返回它。我开始时函数返回String 转换格式!()从字符串到&';静态str,string,rust,String,Rust,我很难理解如何插值一个数字并以正确的格式返回它。我开始时函数返回String,但是编译器需要和静态str。我已经读到了关于to_owned,但它还没有在我的脑海中出现。做我正在尝试的事情的“正确”方式是什么 fn ordinal_name(num: i32) -> &'static str { if num == 1 { "1st" } else if num == 2 { "2nd" } else if num == 3 {
String
,但是编译器需要和静态str
。我已经读到了关于to_owned
,但它还没有在我的脑海中出现。做我正在尝试的事情的“正确”方式是什么
fn ordinal_name(num: i32) -> &'static str {
if num == 1 {
"1st"
} else if num == 2 {
"2nd"
} else if num == 3 {
"3rd"
} else {
format!("{}th", num)
}
}
fn main() {
println!("{}", ordinal_name(5));
}
错误[E0308]:类型不匹配
-->src/main.rs:9:9
|
1 | fn序号名称(编号:i32)->&'static str{
|------由于返回类型,应为`&'static str`
...
9 |格式!(“{}th”,num)
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`
|
=注意:应为类型`&'`
找到类型“std::string::string”`
=注意:此错误源于当前板条箱外部的宏
这不是字符串到&'static str的重复-我正在试图找出如何用字符串插值一个整数,然后返回一个
&static str
我想这确实需要一个参考,链接的重复不够好。是一个开始我正在试图找出如何用字符串插值一个整数,然后返回一个&static str
=>“我正在试图找出如何[创建字符串
],然后返回一个&static str
”。这确实是一个重复;创建字符串的路径不重要。格式!
创建字符串
。顺便说一句,函数不会为23
等数字生成正确的输出。