Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸
Swift 1.1语言函数类型使用函数类型Swift 1.1语言快速入门大学霸
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.