Rust
Rust 进阶篇 (十六):闭包机制——Fn、FnMut 与 FnOnce 底层捕获行为
Waitwalker2026-08-2811 min
## 1. 闭包的三种捕获模式
- **FnOnce**:消耗捕获的变量(通过移动所有权),只能被调用一次。
- **FnMut**:可以修改捕获的变量值。
- **Fn**:仅不可变借用外部环境变量。
```rust
let list = vec![1, 2, 3];
// move 关键字强制闭包获取 list 的所有权(常用于跨线程传递)
let takes_ownership = move || println!("{:?}", list);
takes_ownership();
```
#Rust#闭包#函数式#高阶函数
回到文章列表 →