Merge pull request #451 from Nangos/patch-38

Update ch19-05-advanced-functions-and-closures.md
This commit is contained in:
KaiserY 2020-08-09 22:59:43 +08:00 committed by GitHub
commit 13f9232eab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,11 +4,11 @@
> <br> > <br>
> commit 426f3e4ec17e539ae9905ba559411169d303a031 > commit 426f3e4ec17e539ae9905ba559411169d303a031
最后我们将探索一些有关函数和闭包的高级功能:函数指针以及返回值闭包。 接下来我们将探索一些有关函数和闭包的高级功能:函数指针以及返回值闭包。
### 函数指针 ### 函数指针
我们讨论过了如何向函数传递闭包;也可以向函数传递常规函数!这在我们希望传递已经定义的函数而不是重新定义闭包作为参数很有用。通过函数指针允许我们使用函数作为另一个函数的参数。函数的类型是 `fn` (使用小写的 “f” )以免与 `Fn` 闭包 trait 相混淆。`fn` 被称为 **函数指针***function pointer*)。指定参数为函数指针的语法类似于闭包,如示例 19-27 所示: 我们讨论过了如何向函数传递闭包;也可以向函数传递常规函数!这在我们希望传递已经定义的函数而不是重新定义闭包作为参数很有用。通过函数指针允许我们使用函数作为另一个函数的参数。函数的类型是 `fn` (使用小写的 “f” )以免与 `Fn` 闭包 trait 相混淆。`fn` 被称为 **函数指针***function pointer*)。指定参数为函数指针的语法类似于闭包,如示例 19-27 所示:
<span class="filename">文件名: src/main.rs</span> <span class="filename">文件名: src/main.rs</span>