zoukankan      html  css  js  c++  java
  • Swift闭包与简化

    代码:

    // 定义一个数组,使用sort函数对其排序
    let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
    
    // 完整形式
    names.sort( { (s1: String, s2: String) -> Bool in
        return s1 > s2
    })
    
    // 尾随闭包形式
    names.sort() { (s1: String, s2: String) -> Bool in
        return s1 > s2
    }
    
    // 如果闭包表达式的参数类型已知,可省略
    names.sort() { (s1, s2) -> Bool in
        return s1 > s2
    }
    
    // 如果闭包表达式的返回类型已知,可省略
    names.sort() { (s1, s2) in
        return s1 > s2
    }
    
    // 参数的圆括号,可省略
    names.sort() { s1, s2 in
        return s1 > s2
    }
    
    // 单行表达式的闭包可以通过隐藏return关键字来隐式返回单行表达式的结果
    names.sort() { s1, s2 in
        s1 > s2
    }
    
    // Swift自动为内联函数提供了参数名称缩写功能,您可以直接通过$0、$1、$2等来顺序调用闭包的参数
    names.sort() {
        $0 > $1
    }
    
    // 如果函数只需要闭包表达式一个参数,当您使用尾随闭包时,可以省略圆括号
    names.sort {
        $0 > $1
    }
    
    // 运算符函数
    names.sort(>)
  • 相关阅读:
    最近ACM刷题见到的没见过的名词
    最近刷题常常遇见的需要百度的知识点
    简单RPG场景实现(改
    简单RPG场景实现
    位图载入与位图移动
    动态菜单
    静态菜单
    双人五子棋
    HDU 2112 HDU Today
    音痴又音痴的LT
  • 原文地址:https://www.cnblogs.com/xwoder/p/4732031.html
Copyright © 2011-2022 走看看