Swift閉包與簡化

來源:互聯網
上載者:User

標籤:

代碼:

//定義一個數組,並使用閉包對其排序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 (>)

 

Swift閉包與簡化

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.