swift3新路程(7)函数的嵌套、作为返回值和作为函数的参数

前端之家收集整理的这篇文章主要介绍了swift3新路程(7)函数的嵌套、作为返回值和作为函数的参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

函数是可以嵌套的

当我们写一个比较长的函数的时候,我们可以使用函数嵌套的形式,将内部的代码抽取为一个嵌套的函数,这样看起来更加具有调理性

func sumOneTwo()->Int {
    var sum = 0
    
    func sumFunc(){
        sum = 1 + 2
    }
    
    sumFunc()
    
    return sum
}
print(sumOneTwo())
函数sumFunc就是嵌套在sumOneTwo函数

输出

3


函数作为返回值

func threeTimes() -> ((Int)->Void) {
    func times(num:Int){
        print(num*3)
    }
    return times
}
let times = threeTimes()
times(10)
输出

30


作为函数的参数

func chose(numbers:[Int],condation:(Int)->Bool)->[Int]{
    var result = [Int]()
    for number in numbers {
        if condation(number) {
            result.append(number)
        }
    }
    return result
}
func biggerThanTen(number:Int)->Bool {
    if number > 10 {
        return true
    }
    return false
}
var numbers = [11,40,4,9,12]

print(chose(numbers: numbers,condation: biggerThanTen))
输出

[11,12]

猜你在找的Swift相关文章