_ символ в функциях/методах Swift

Я читаю некоторые главы языка программирования Swift от Apple. и я обнаружил, что сигнатуры методов и функций в ссылке имеют символ _ в качестве аргумента (ов), например, функция print:

печать (_: разделитель: терминатор :)

Однако я не нахожу, что именно означает этот символ.

заранее спасибо


person AppsDev    schedule 15.02.2016    source источник


Ответы (2)


Это синтаксис, который позволяет вызывающим сторонам опускать имя внешнего параметра:

Исключение имен внешних параметров

Если вы не хотите использовать внешнее имя для второго или последующих параметров функции, напишите знак подчеркивания (_) вместо явного внешнего имени для этого параметра.

person Sergey Kalinichenko    schedule 15.02.2016

См. этот раздел в документация:

Пропуск имен внешних параметров

Если вы не хотите использовать внешнее имя для второго или последующих параметров функции, напишите знак подчеркивания (_) вместо явного внешнего имени для этого параметра.

Этот символ указывает на то, что идентификатор аргумента не требуется в вызове метода:

Этот способ

func sayHello(personName: String, alreadyGreeted: Bool) -> String

упоминается как

sayHello(_:alreadyGreeted:)

и позвонил с

sayHello("Tim", alreadyGreeted: true)

Вы видите, что alreadyGreeted: должно быть включено в вызов функции, но не personName.

IIRC, первый аргумент в любом вызове функции всегда опускается при вызове функции, но выписывается в объявлении (очевидно, иначе к нему не было бы доступа).

person Arc676    schedule 15.02.2016