在看 B 站上的教程,看到关于 move 和 闭包的东西。 地址是 https://b23.tv/dXol75P

其实中说 FnOne 是至少调用一次。

还有 Rust 圣经中也同样这么说。 内容如下:

所有的闭包都自动实现了 FnOnce 特征,因此任何一个闭包都至少可以被调用一次

但 Kimi 的解释是:

FnOnce 的设计目标是确保闭包在调用时可以安全地消耗变量的所有权,而不是强制要求闭包必须被调用。换句话说:

“只能调用一次”:闭包被设计为只能调用一次,以避免多次调用导致的错误。
“至少调用一次”:这不是 FnOnce 的要求。闭包可以选择不被调用,但一旦调用,就不能再次调用。

大致意思就是“只能调用一次”

我的理解也是只能调用一次。

ps: 前几天看到有个推荐 Rust 教程的页面,说《 Rust 语言圣经》错误太多。我现在找不到出处了。请问有哪些是错误的?

举报· 105 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部