我读到这里是
编写了共享引用类型
&type,或者&'a type在您需要指定显式生存期时。
理解&是为了shared reference但不了解Rust语言type和之间有什么区别'a
在另一个位置,我读了这段代码:
#[derive(Debug)]
struct Person<'a> {
name: &'a str,
age: u8
}
fn main() {
let name = "Peter";
let age = 27;
let peter = Person { name, age };
// Pretty print
println!("{:#?}", peter);
}
Run Code Online (Sandbox Code Playgroud)
是什么'a在struct Person<'a> { }手段?我可以struct使用struct Person<'type> { }或构建相同的内容struct Person<T> { }吗?
那是什么意思name: &'a str …
当我们写:
fn foo<'a, 'b>(x: &'a u32, y: &'b u32) -> &'a u32 {
x
}
Run Code Online (Sandbox Code Playgroud)
为什么我们不将'as 和'bs 称为生命周期参数而不是通用生命周期参数?这只是一种语法方式,可以根据参数的生命周期向编译器传达对返回引用生命周期的约束。我正在努力了解在此处包含“通用”一词的理由。