Rust中的Fn、FnMut 和 FnOnce都有什么区别?
原文中文,约300字,阅读约需1分钟。发表于: 。在 Rust 中,Fn、FnMut 和 FnOnce 是三个用于表示闭包类型的 trait。闭包是一种可以捕获其环境变量的函数。在创建闭包是会默认实现这几个 trait 中的一个。 以下是三个 trait 的区别: Fn:Fn 是最基本的闭包 trait。它表示闭包可以捕获其环境变量的不可变引用。 FnMut:FnMut...
在Rust中,闭包类型有三个trait:Fn、FnMut和FnOnce。Fn是最基本的闭包trait,表示闭包可以捕获环境变量的不可变引用;FnMut表示闭包可以捕获环境变量的可变引用,可以修改环境变量的值;FnOnce表示闭包只能调用一次,可以捕获环境变量的所有权,可以移动环境变量的值。