Rust 如何返回RefCell值的refenrece

Rust 如何返回RefCell值的refenrece,rust,Rust,我正在使用双链表学习生锈。 要获取双链接列表值, 我想返回对值的引用 如果我只返回值,我可以。 但若我这样做,列表值必须实现Clonetrait… 我该怎么办 这是我的示例代码 使用std::rc::rc; 使用std::cell::RefCell; 结构人{ 年龄:Rc,, } 默示人{ fn获取字符串&a i32{ //实际执行while循环,直到达到指定的索引 让person_age=*self.age.borrow_mut(); //我想返回对i32的引用 &个人年龄 } } fn ma

我正在使用双链表学习生锈。
要获取双链接列表值,
我想返回对值的引用

如果我只返回值,我可以。
但若我这样做,列表值必须实现
Clone
trait…
我该怎么办

这是我的示例代码

使用std::rc::rc;
使用std::cell::RefCell;
结构人{
年龄:Rc,,
}
默示人{
fn获取字符串&a i32{
//实际执行while循环,直到达到指定的索引
让person_age=*self.age.borrow_mut();
//我想返回对i32的引用
&个人年龄
}
}
fn main(){
设age=Rc::new(RefCell::new(10));
让person=person{age:Rc::clone(&age)};
println!(“人名为{}”,person.get_string());
}

您应该返回
Ref
作为

fn获取字符串(&self)->Ref{
返回self.age.borrow_mut()
}

除了实现Drop之外,它的行为应该或多或少类似于reference。它用于RefCell而不是引用,因为它可以维护RefCell不变量,所以在使用RefCell时,您应该使用它。

非常感谢!
    fn get_string(&self) -> Ref<i32>{
        return self.age.borrow_mut()
    }