闭包的基础语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包的基础语法相关的知识,希望对你有一定的参考价值。

//: Playground - noun: a place where people can play

import UIKit

// 初始化一个整数数组
var arr = [1, 3, 5, 7, 8, 10, 12, 2, 0, 11, 9]
// 排序, 默认是从小到大排序
arr.sort()
// 通过闭包, 自定义排序方法
arr.sort({(a: Int, b: Int) -> Bool in
    return a > b
})

// 初始化一个字符串数组
var arr2 = ["aa", "b", "bb", "abcd", "aabbcc", "cdefg", "a", "c"]
// 排序, 按字符串长度排序, 如果长度相等, 就比较两个字符串
arr2.sort({(string1: String, string2: String) -> Bool in
    
    let string1Length = string1.characters.count
    let string2Lenght = string2.characters.count
    
    if string1Length != string2Lenght { // 长度不相等
        return string1Length < string2Lenght
    } else {                            // 长度相等
        return string1 < string2
    }
})

简单的说下闭包的语法:

{(参数) -> 返回类型 in 函数体}

以上是关于闭包的基础语法的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin语法基础,函数与闭包

闭包的基础语法

python基础——函数对象和闭包

基础知识回顾:闭包

JSP 基础语法

Groovy基础语法整理