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]

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...