2016-02-15 110 views

回答

3

這是允許呼叫者省略外部參數名稱語法:

Omitting External Parameter Names

如果你不想爲使用外部名稱第二個或後續函數的參數,請寫下劃線(_),而不是該參數的顯式外部名稱。

1

看到documentation本節:

的省略外部參數名稱

如果你不想使用外部名稱爲函數的第二個或後續參數,寫一個下劃線(_)而不是該參數的顯式外部名稱。

這個字符表示該參數的標識符沒有被在該方法中呼叫所需的:

此方法

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

稱爲

sayHello(_:alreadyGreeted:) 

和被叫與

sayHello("Tim", alreadyGreeted: true) 

您可以看到alreadyGreeted:必須包含在函數調用中,但不包括personName

IIRC,任何函數調用中的第一個參數在調用函數時總是被省略,但在聲明中寫出來(顯然,否則將無法訪問它)。