生命周期 Rust · 通用兜底
生命周期标注,给引用指定有效范围,确保引用不会指向已释放的数据。
怎么用
'a, fn f<'a>(x: &'a T) -> &'a T
小例子
fn 最长<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}
println!("{}", 最长("hi", "hello"));
运行结果
hello
提醒:生命周期只在引用相关时出现;很多时候编译器能自动推断
官方文档:https://doc.rust-lang.org/reference/lifetime-elision.html
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Rust全部词条