结构定义里类似<'a>的东西怎么理解?
有Java背景正在学习Rust, 最近在看《通过例子学 Rust》
在结构体(structs)那一章(包括之前其他的一些入门教程里)发现代码示例里写的
#[derive(Debug)]
struct Person<'a> {
name: &'a str,
age: u8,
}
其中 Person<’a> 应该怎么理解?类似Java里的不限数据类型吗?类似这种的?
private class Person<T> {
private T name;
private int age;
}
关于 LearnKu
不是,java里面基本上不用考虑引用。如果区分就是值传递和引用传递。《T》 是泛型,作用java和rust是一样。rust因为有生命周期,所有权概念,所以在一些复杂的场景下需要指定谁“生存”的更长,或者“生存”的范围。’ 只是一个生命周期的标志,a只是定义的一个类似于变量的存在,说作用只是为了区分存在哪些生命周期,以及那个活得长