我从苹果开发者网站复制了以下代码片段。
以下代码按预期工作:
func greet(day: String) -> String { return "Hello Umang, today is \(day)." } print(greet("Sunday"))
在运行以下显示错误的代码时,
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 背景。所以我在理解上遇到了问题。
如果我有任何误解,请指导我。
最佳答案
这是因为方法中的第一个参数被视为未命名参数。因此,您只能使用 greet("Sunday"),但如果您希望第一个参数是命名参数,则可以使用以下语法。
func greet(day day: String) -> String {
return "Hello Umang, today is \(day)."
}
注意,day 是参数 day 的名称。
现在,您可以将其用作,
print(greet(day : "Sunday"))
关于Swift:调用函数似乎令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33340661/