Rust初学者大多会遇到这样的问题: 为什么同一资源不可被同时可变借用和不可变借用? 为什么Rc一定只能是只读的,一定要配合std::cell系列(Cell,RefCell,UnsafeCell)才能提供可变性?为什么不设计一个可变的Rc? 为什么Mutex/RwLock一般都会配合Arc使用? -- 这一类借用规则的问题,实际上都可以通过另一种思路来很好地解答,当然这也是很多大佬一定程度上认可的理解方式: Rust中的借用,分为不可变借用共享借用,和可变借用独占借用 无论在教程中,还是语法中,…