Swift:讓人頭疼的函式傳參
函式實際引數標籤和形式引數名
每一個函式的形式引數都包含實際引數標籤和形式引數名。實際引數標籤用在呼叫函式的時候;在呼叫函式的時候每一個實際引數前邊都要寫實際引數標籤。形式引數名用在函式的實現當中。預設情況下,形式引數使用它們的形式引數名作為實際引數標籤。
1 2 3 4 5 |
func someFunction(firstParameterName: Int, secondParameterName: Int) { // In the function body, firstParameterName and secondParameterName // refer to the argument values for the first and second parameters. } someFunction(firstParameterName: 1, secondParameterName: 2) |
左右的形式引數必須有唯一的名字。儘管有可能多個形式引數擁有相同的實際引數標籤,唯一的實際引數標籤有助於讓你的程式碼更加易讀。
指定實際引數標籤
在提供形式引數名之前寫實際引數標籤,用空格分隔:
1 2 3 4 |
func someFunction(argumentLabel parameterName: Int) { // In the function body, parameterName refers to the argument value // for that parameter. } |
注意
如果你為一個形式引數提供了實際引數標籤,那麼這個實際引數就必須在呼叫函式的時候使用標籤。
這裡有另一個函式 greet(person:)的版本,接收一個人名字和家鄉然後返回對這個的問候:
1 2 3 4 5 |
func greet(person: String, from hometown: String) -> String { return "Hello \(person)! Glad you could visit from \(hometown)." } print(greet(person: "Bill", from: "Cupertino")) // Prints "Hello Bill! Glad you could visit from Cupertino." |