美文网首页
2018-07-10swift4与swift 3.3 语法重拾(

2018-07-10swift4与swift 3.3 语法重拾(

作者: 幸福晓杰2016 | 来源:发表于2018-07-10 13:40 被阅读4次

    函数与闭包

    //用函数做返回值
    func makeIncrementer() -> ((Int) -> Int) {
        func addOne(number: Int) -> Int {
            return 1 + number
        }
        return addOne
    }
    var increment = makeIncrementer()
    increment(7)
    
    //用函数做参数
    func hasAnyMatches(list: [Int], condition: (Int) -> Bool) -> Bool {
        for item in list {
            if condition(item) {
                return true
            }
        }
        return false
    }
    func lessThanTen(number: Int) -> Bool {
        return number < 10
    }
    var numbers = [20, 19, 7, 12]
    hasAnyMatches(list: numbers, condition: lessThanTen)
    

    闭包

    var numbers = [20, 19, 7, 12]
    
    numbers.map({
        (number: Int) -> Int in
        let result = 3 * number
        return result
    })
    
    let mappedNumbers = numbers.map({ number in 3 * number })
    print(mappedNumbers)
    
    let sortedNumbers = numbers.sorted { $0 > $1 }
    print(sortedNumbers)
    

    相关文章

      网友评论

          本文标题:2018-07-10swift4与swift 3.3 语法重拾(

          本文链接:https://www.haomeiwen.com/subject/rmlfpftx.html