每个函数都有种特定的函数类型,由函数的参数类型和返回类型组成。
func addTwoInts(a: Int, b: Int) -> Int {
return a + b
}
func multiplyTwoInts(a: Int, b: Int) -> Int {
return a * b
}
//这是两个简单的数学模型:
+
和-
这两个类型都是传入int ,返回int值
//无参形式
func HelloWorld() {
println("hello, world")
}
//这个函数类型是:() -> (),或者叫“没有参数,并返回 Void 类型的函数”。没有指定返回类型的函数总返回Void。在Swift中,Void 与空的元组是一样的。
//使用函数类型
var mathFunction: (Int, Int) -> Int = addTwoInts
//“定义一个叫做 mathFunction 的变量,类型是‘一个有两个 Int 型的参数并返回一个 Int 型的值的函数’,并让这个新变量指向 addTwoInts 函数”。
println("Result: \(mathFunction(2, 3))")
// prints "Result: 5"
你可以用(Int, Int) -> Int这样的函数类型作为另一个函数的参数类型。
func printMathResult(mathFunction: (Int, Int) -> Int, a: Int, b: Int) {
println("Result: \(mathFunction(a, b))")
}
printMathResult(addTwoInts, 3, 5)
// prints "Result: 8”
你也可以用函数类型作为另一个函数的返回类型。你需要做的是在返回箭头(->)后写一个完整的函数类型。
//这里是函数的类型都是 (Int) -> Int:
func stepForward(input: Int) -> Int {
return input + 1
}
func stepBackward(input: Int) -> Int {
return input - 1
}