中文文档中的示例 10-24
fn main() {
let string1 = String::from("long string is long");
let result;
{
let string2 = String::from("xyz");
result = longest(string1.as_str(), string2.as_str());
}
println!("The longest string is {}", result);
}
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() {
x
} else {
y
}
}
会出现string2
does not live long enough。
可是将
let string1 ="long string is long";
{
let string2 = "xyz";
//如上
}
改成这样却能正确输出结果
1
共 4 条评论, 1 页
评论区
写评论谢谢
--
👇
Bai-Jinlin: 你觉得正常的代码是因为字面值str是static生命周期的
😂好的,下次用
--
👇
xian9yu: 建议用rust playground贴代码
你觉得正常的代码是因为字面值str是static生命周期的
建议用rust playground贴代码