Swift 关于课堂的一些问题;func";用迅捷的语言?

Swift 关于课堂的一些问题;func";用迅捷的语言?,swift,class,Swift,Class,最后一行,为什么不应该是: greet(name: "Bob", day: "Tuesday") 有人知道吗 func greet(name: String, day: String) -> String { return "Hello \(name), today is \(day)." } greet("Bob", day: "Tuesday") 默认情况下,第一个参数省略其外部名称,第二个和后续参数使用其本地名称作为外部名称 摘自:Apple Inc.“Swift编程语

最后一行,为什么不应该是:

greet(name: "Bob", day: "Tuesday")
有人知道吗

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

greet("Bob", day: "Tuesday")

默认情况下,第一个参数省略其外部名称,第二个和后续参数使用其本地名称作为外部名称

摘自:Apple Inc.“Swift编程语言(Swift 2.0)”,第节函数参数名称

苹果建议这样做,以便代码简洁易读。通常,函数名包含第一个参数的指示。但是,如果确实要强制使用外部参数名称,请像这样指定外部和本地参数标签

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

函数中的每个参数都有两个名称,外部名称和内部名称

调用函数时将使用外部名称。 内部名称是您可以在函数内部调用的名称

你的职能:

func greet(name: String, day: String) -> String {
    return "Hello \(name), today is \(day)."
}
可以称之为:

greet("Bob", day: "Tuesday")
您不需要为第一个参数输入外部名称,因为swift不需要输入外部名称。但有必要将其用于其他参数(而不是第一个参数)

您可以强制使用外部名称参数调用函数,即使对于第一个参数,如下所示:

func greet(name: String, day: String) -> String {
        return "Hello \(name), today is \(day)."
    }
testtest(outside1: "wow", outside2: "meoao")
那么你的电话是:

 greet(name: "Bob", day: "Tuesday")
另一个例子:

func testtest(outside1 inside1: String, outside2 inside2: String) {
    print("inside1 = \(inside1)") // okay
    print("inside2 = \(inside2)") // okay
    print("outside1 = \(outside1)") // ERROR outside1 doesn't exist
}
你可以这样称呼它:

func greet(name: String, day: String) -> String {
        return "Hello \(name), today is \(day)."
    }
testtest(outside1: "wow", outside2: "meoao")

只需这样声明:func greet(name:String,day:String)->String{,这样做的原因是它自然地映射到Objective-C命名约定。