一尘不染

$ 0在Swift的闭包中代表什么?

swift

我已经看到swift中的闭包里面有$ 0,有时它们使用$ 1。$ 0到底是什么,您还可以使用其他$ x?

这是使用中的示例。

applyMutliplication(2, {$0 * 3})
array.map({$0 + 1})

谢谢!


阅读 372

收藏
2020-07-07

共1个答案

一尘不染

这是一个简写的参数名称。

从《雨燕书》中:

“ Swift自动为内联闭包提供速记参数名称,可使用名称$ 0,$ 1,$ 2等来引用闭包参数的值。”

— Apple Inc. “快速编程语言”。

它有助于减少代码的冗长性(有时以可读性为代价),因此在定义闭包时不必写出很长的参数列表。

2020-07-07