В Swift функции имеют как метки параметров, так и имена параметров. Это делается для ясности при использовании функций. Подумайте о нормальной функции C, она объявлена как таковой:
string FunctionName(string firstName, string lastName)
Глядя на объявление функции, легко увидеть, что каждый параметр. В этом случае, firstName и lastName. Однако, когда он вызывается в коде, он менее заметен, особенно если значения параметров не являются самоописательными. например:
FunctionName("Neil","Armstrong") // Fairly obvious
FunctionName("Bo","Ng") // Not so obvious
В быстрых параметрах имеются как метки, так и названия. Этикетки есть чисто для ясности, так что код, который вызывает функцию можно прочитать и понять более легко, без необходимости погружаться в ее определение, чтобы полностью понять его
let fullName = funcName(firstName: "Bo", lastName: "Ng")
В некоторых случаях имя параметра совершенно не нужно , например:
let total = addTwoNumbers(1,2)
Так метки не являются обязательными, обозначаются подчеркиванием
func addTwoNumbers(_ firstVal:Int,_ secondVal:Int)
Вообще говоря, вы должны использовать метки, чтобы сделать фу которые вы пишете более четко, если вы не чувствуете, что параметры полностью самоописаны.
http://stackoverflow.com/questions/24270732/what-do-and-in-mean-in-swift-programming-language это имя параметра-заполнителя. _ означает, что он не будет использоваться. – Sahil