4.6 使用函数作为另一个函数的参数 [Swift教程]
2018-04-11 本文已影响57人
互动教程网
1. 每个函数都是有类型的,包括函数的参数类型和返回类型。因此可以像任何其它类型一样,将函数作为参数传递给其它的函数。

2. 首先定义一个函数,它拥有两个整型的参数,和一个整型的返回值。

3. 该函数用来计算两个数值的和,所以在函数的末尾,返回两个参数的和。

4. 定义另一个函数,它也拥有两个整型的参数,和一个整型的返回值。

5. 该函数用来获得两个参数中的较大的值,所以在函数的末尾,比较并返回较大的值。

6. 定义第三个函数,该函数拥有三个参数,第一个参数的类型是函数,该类型拥有两个整型参数和一个整型的返回值(Int,Int)->Int,开发者可以传入任何此种类型的函数作为参数。

7. 在第三个函数的代码块中,调用作为函数的第一个参数,并使用第二和第三个参数,作为被调用函数的两个参数。

8. 调用第三个函数,并使用第一个函数的名称,作为被调用函数的第一个参数,同时设置第2个和第3个参数。从右侧的结果可以看出,函数被正确调用。

9. 使用第二个函数的名称,作为被调用函数的第一个参数,同时设置第2个和第3个参数。从右侧的结果可以看出,函数被正确调用。



12. 从结果列表中可以看出,第一个函数和第二个函数分别被执行,并依次输出了5和3两个结果。再次点击右侧的显示结果图标,隐藏输出的内容。

13. 最后点击底部的显示调试区图标,打开控制台并观察日志的输出。




本文整理自:《Swift4互动教程》,真正的[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1320746678,或扫描本页底部的二维码。课程配套素材下载地址:资料下载