发布于 2017-02-13 04:30:11
内联值是直接使用的值,而不首先分配给中间变量。考虑这两个例子:
let number = 1
print(number)在这里,1被分配给一个中间变量number,然后打印该变量。
print(1)在这里,1是一个内联的整数字面值,直接打印。
闭包也是如此。
let evenNumberFilter: (Int) -> Bool = { $0 % 2 == 0 }
print((0...10).filter(evenNumberFilter))在这里,{ $0 % 2 == 0 }是一个闭包(类型为(Int) -> Bool),在使用之前分配给中间变量evenNumberFilter。
print((0...10).filter{ $0 % 2 == 0 })在这种情况下,直接使用{ $0 % 2 == 0 }。这是一个内嵌式闭包。
https://stackoverflow.com/questions/42196044
复制相似问题