答案 0 :(得分:12)
内联值是直接使用的值,而不首先分配给中间变量。考虑以下两个例子:
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 }
被直接使用。这是一个内联关闭。