Rust中的Fn、FnMut 和 FnOnce都有什么区别?
💡
原文中文,约300字,阅读约需1分钟。
📝
内容提要
在Rust中,闭包类型有三个trait:Fn、FnMut和FnOnce。Fn是最基本的闭包trait,表示闭包可以捕获环境变量的不可变引用;FnMut表示闭包可以捕获环境变量的可变引用,可以修改环境变量的值;FnOnce表示闭包只能调用一次,可以捕获环境变量的所有权,可以移动环境变量的值。
🎯
关键要点
-
在 Rust 中,闭包类型有三个 trait:Fn、FnMut 和 FnOnce。
-
Fn 是最基本的闭包 trait,表示闭包可以捕获环境变量的不可变引用。
-
FnMut 表示闭包可以捕获环境变量的可变引用,可以修改环境变量的值。
-
FnOnce 表示闭包只能调用一次,可以捕获环境变量的所有权,移动环境变量的值。
➡️