Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸

Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸

Swift语言快速入门v3.0

Swift语言快速入门v3.0

7.6  函数类型在Swift中,每一个函数都是一个特定的类型,这种类型被称为函数类型。它由参数类型和返回值类型构成。例如以下代码就是一个具有参数类型和返回值类型的函数Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸:

func add(a: Int, b: Int) -> Int {

return a + b

}

在该代码中,定义了一个实现加法运算的数学函数add。此函数接受了两个Int整型的参数,执行相应的数学运算后,返回一个Int整型值作为结果。这个函数的类型就是(Int,Int)->Int,程序员可以理解为函数类型有两个Int整型参数,并返回一个Int整型值。在Swift除了有具有参数列表和返回值类型的函数外,还有不带参数和返回值类型的函数,如以下代码是一个不带参数和返回值的函数Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸:

func printHelloWorld(){

println(“Hello,World”)

}

函数printHelloWorld()的类型是()->()。由于函数没有参数,返回void,所以该类型在Swift中相当于一个空元组,也可以简化为()Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸。

7.6.1  使用函数类型Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸

作为一种类型,程序员可以像任何其他类型一样使用函数类型。基本语法如下:

let/var 常量名/变量名:函数类型=函数名

或者

let/var 常量名/变量名=函数名

【示例7-16】以下将使用一个mathFunction变量引用函数add。代码如下:

import Foundation

func add(a: Int, b: Int) -> Int {

return a + b

}

var mathFunction: (Int, Int) -> Int = add

println(mathFunction(2,8))

在代码中定义了一个mathFunction变量,并将该变量的类型设定为函数类型。它接受了两个Int整型值,并返回了一个Int整型值。使用这个新的变量mathFunction来引用add函数的功能。运行结果如下所示:

10

Program ended with exit code: 0

由于Swift具有自动推断类型的能力,所以可以在声明变量后直接赋值,不需要单个为变量去声明类型,所以以上的为变量赋值的代码可以改写为:

var mathFunction = add

如果不同函数具有相同的函数类型,这时把它们赋值给同一个变量。例如,在以上的代码中在添加一个函数:

func multiply(a:Int,b:Int)->Int{

return a*b

}

由于mathFunction变量和multiply的类型匹配,所以可以直接赋值,并输出,代码如下:

mathFunction=multiply;

println(mathFunction(3,8))

代码如下所示:

10

24

Program ended with exit code: 0Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸

Comments are closed.