生命周期与引用有效性

2020-04-09  本文已影响0人  allenhaozi
&i32             // 引用
&'a i32         // 带有显式生命周期的引用 
&'a mut i32  // 带有显式生命周期的可变引用

泛型生命周期参数需 要声明在函数名和参数列表间的尖括号中。这里我们想要告诉 Rust 关于参数中的引用和返回 值之间的限制是他们都必须拥有相同的生命周期

正确的

fn main() {
       let string1 = String::from("long string is long");
       {
             let string2 = String::from("xyz");
             let result = longest(string1.as_str(), string2.as_str()); 
             println!("The longest string is {}", result);
       } 
}

错误的

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);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读