如题所示:在程序的运行期间,如何修改struct中的某个项的值,可以通过Cell来实现
use std::cell::Cell;
#[derive(Debug,Default)]
struct Person{
age:Cell<i32>,
name:String,
}
impl Person{
fn modify_age(&self){
let current_age = self.age.get();
self.age.set(current_age+1)
}
}
fn main(){
let p = Person{
age:Cell::new(46),
name:String::from("rust"),
};
p.modify_age();
println!("{}-{}",p.name,p.age.get());
}