Swift 函数也有类型type

来源:互联网 发布:js 变量未定义 编辑:程序博客网 时间:2024/05/22 13:42


函数在Swift里面和其他类一样也包含类型属性TYPE, 就像数字类型Int,字符类型Character

下面例子,他们的类型就是 ( Int , Int ) -> Int


之所以这样设计,你可以方便的把函数作为参数,作为变量,也可以作为返回值:


import UIKitimport CoreSpotlightfunc add(_ a:Int,_ b:Int) -> Int{    return a+b}func multiply(_ a:Int,_ b:Int) -> Int{    return a*b}var doMath:(Int,Int)->IntdoMath=adddoMath=multiplyfunc jiaOrCheng(_ something:(Int,Int)->Int,_ a:Int,_ b:Int){    print("\(something(a,b))")}jiaOrCheng(add,1,2)func JiaOrJian(jiaBuJia:Bool) -> (Int) -> Int{    func jia(_ a:Int)->Int { return a + 1 }    func jian(_ b:Int)->Int { return b - 1 }    return jiaBuJia ? jia : jian}var count = -3 //计算从count到0腰加几次//严重注意,平常func作为变量传递时,func不带(),如果带了(),那么传递到是其返回值//countSteps是赋值给了 (Int)->Intlet countSteps = JiaOrJian(jiaBuJia: count < 0)while count != 0 {    print(count)    count = countSteps(count)}//返回-3-2-1

0 0
原创粉丝点击