所以在“Swift Tour”(https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html)中是关于闭包的一部分。他们示例中的代码如下:
numbers.map({(number:Int) - > Int in …
阵列 numbers 在前一个代码块的第12行声明。该章中显示的每个代码块都基于之前的代码块。您可以 下载代码作为游乐场
numbers
功能代码块将是:
var numbers = [20, 19, 7, 12] numbers.map({ (number: Int) -> Int in let result = 3 * number return result })
闭包在其中有更详细的描述 自己的章节 但总结如下:
闭包是自包含的功能块,可以在代码中传递和使用。 Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambdas。
在的情况下 map 函数,闭包中的代码依次对数组的每个元素进行操作。它接受数组元素作为输入,并返回输出数组的元素。
map
您可以使用模数函数为奇数返回0
let evens = numbers.map({ (number: Int) -> Int in if number % 2 == 0 { return number } else { return 0 } })