rust语言学习笔记(指针三)RefCell<T>(单线程运行时借用检查)
要么拥有任意数量的不可变引用T。要么拥有唯一一个可变引用mut T。两者不能同时存在。如果违反借用规则例如同时获取可变和不可变借用程序不会编译失败而是会在运行时触发 panic。它适用于单线程环境。usestd::cell::RefCell;fnmain(){letvRefCell::new(10);// 创建一个可变的引用计数器{// 只读借用letv1v.borrow();// 只读借用println!(v1 只读借用: {},v1);}// v1 只读借用离开作用域{// 可变借用letmutv2v.borrow_mut();// 只写借用*v220;}// v2 可变借用离开作用域println!(v2 只写借用: {},v.borrow());// 只读借用}