Merge pull request #492 from zongzi531/hotfix/closure

Fix typo in functional-programing/closure.md
pull/493/head
Sunface 3 years ago committed by GitHub
commit 2fde211a5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -624,7 +624,7 @@ pub trait FnOnce<Args> {
}
```
看到没?从特征约束能看出来 `Fn` 的前提是实现 `FnMut``FnMut` 的前提是实现 `FnOne`,因此要实现 `Fn` 就要同时实现 `FnMut``FnOnce`,这段源码从侧面印证了之前规则的正确性。
看到没?从特征约束能看出来 `Fn` 的前提是实现 `FnMut``FnMut` 的前提是实现 `FnOnce`,因此要实现 `Fn` 就要同时实现 `FnMut``FnOnce`,这段源码从侧面印证了之前规则的正确性。
从源码中还能看出一点:`Fn` 获取 `&self``FnMut` 获取 `&mut self`,而 `FnOnce` 获取 `self`
在实际项目中,**建议先使用 `Fn` 特征**,然后编译器会告诉你正误以及该如何选择。

Loading…
Cancel
Save