Подтвердить что ты не робот

Что означает $0 в закрытии в Swift?

Я видел, что закрытие в swift имеет $0 внутри него, а иногда они используют $1. Что такое $0 и какие другие $x вы можете использовать?

Вот примеры использования.

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

Спасибо!

4b9b3361

Ответ 1

Это сокращенное имя аргумента.

Из Swift Book:

"Swift автоматически предоставляет строковые имена аргументов для встроенных замыкания, которые могут использоваться для обозначения значений замыканий аргументы именами $0, $1, $2 и т.д."

- Apple Inc. Язык быстрого программирования.

Это помогает уменьшить многословие вашего кода (иногда за счет удобочитаемости), поэтому вам не нужно записывать длинные списки аргументов при определении закрытий.