2015-10-26 38 views
0

我已經從蘋果的開發人員網站複製了以下代碼片段。Swift:調用函數看起來很模糊

  1. 下面的代碼工作的期望:

    func greet(day: String) -> String { 
        return "Hello Umang, today is \(day)." 
    } 
    print(greet("Sunday")) 
    
  2. 在運行下面的代碼顯示錯誤,

    func greet(day: String) -> String { 
        return "Hello Umang, today is \(day)." 
    } 
    print(greet(day : "Sunday")) 
    

    錯誤:

    <stdin>:7:12: error: extraneous argument label 'day:' in call 
    print(greet(day : "Sunday")) 
    ^~~~~~~ 
    

我是Swift編程的新手,我有Java背景。所以我在理解上面臨問題。

請指導我,如果有任何我誤解了。

回答

4

這是因爲方法中的第一個參數被視爲未命名的參數。因此,您只能使用迎接(「星期天」)但如果您希望第一個參數成爲命名參數,則可以使用以下語法。

func greet(day day: String) -> String { 
    return "Hello Umang, today is \(day)." 
} 

注意,日期是參數日的名稱。現在

,你可以把它作爲,

print(greet(day : "Sunday")) 
+0

好。因此,根據你的答案在迅速,第一個參數總是未命名,然後我們不得不提及每個參數與名稱。 謝謝 –