Answers:
每个特征都代表着关于闭包/函数的越来越多的限制性属性,由其call_...
方法的签名表示,尤其是self
:
闭包|...| ...
将自动实现尽可能多的闭包。
FnOnce
:不能一次调用的闭包不配名称。请注意,如果闭包仅实现FnOnce
,则只能调用一次。FnMut
,从而可以多次调用它们(如果可以对函数对象进行非别名访问)。Fn
,使它们基本上在任何地方都可以被调用。这些限制直接源于self
闭包类型和结构的“废止”。在我的博客文章“ 在Rust中找到闭包”中有所描述。
有关封锁信息,请参阅瓶盖:匿名功能,可以捕捉他们的环境中锈病程序设计语言。
FnOnce
,这是否意味着只能调用一次?
FnOnce
”。