Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《闭包的 Fn 系列 trait》:闭包自动实现 `FnOnce`、`FnMut` 或 `Fn` 之一,根据捕获方式决定。 - **FnOnce**:捕获的值会移动进闭包,只能调用一次。 - **FnMut**:捕获的值被可变借用,可多次调用,且可修改捕获变量。 - **F...

闭包

闭包的 Fn 系列 trait

【详细说明 & 代码示例】
闭包自动实现 `FnOnce`、`FnMut` 或 `Fn` 之一,根据捕获方式决定。 - **FnOnce**:捕获的值会移动进闭包,只能调用一次。 - **FnMut**:捕获的值被可变借用,可多次调用,且可修改捕获变量。 - **Fn**:捕获的值被不可变借用,可多次调用且不修改捕获变量。 **作为函数参数时,可根据需求指定具体 trait 约束。** ```rust fn call_fnonce(f: F) { f(); } fn call_fnmut(mut f: F) { f(); f(); } fn call_fn(f: F) { f(); f(); } ``` **使用场景:** 标准库如 `Option::unwrap_or_else` 接受 `FnOnce`,而 `Iterator::for_each` 接受 `FnMut`。

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解