Swift 4自定义参数标签 - 必需吗?

时间:2018-03-18 14:49:47

标签: swift function arguments

func greet (person person: String, on day: String) -> String {
    return "Hello \(person) on \(day)"
}

可以执行

  

问候(" John"," 23")

Swift 4 - 自定义参数标签表现为无参数标签 - " _"

如何强制执行自定义标签?

  

问候(人:" John",on:" 23")

感谢。

编辑 - 问题不正确,因为自定义标签是必需的

1 个答案:

答案 0 :(得分:3)

Swift中,每个功能参数都可以包含 argument label parameter name

  1. argument label :用于函数调用
  2. parameter name :在函数定义
  3. 中使用

    默认情况下,parametersparameter name用作argument label

    这些是可以在swift中使用的可能的函数声明:

    案例1: parameter nameargument label

    相同
    func greet (person: String, day: String) -> String {
        return "Hello \(person) on \(day)"
    }
    

    函数调用greet(person: "John", day: "23")

    案例2:不同的parameter nameargument label

    func greet (person person: String, on day: String) -> String {
        return "Hello \(person) on \(day)"
    }
    

    函数调用greet(person: "John", on: "23")

    案例3:使用_作为argument label

    func greet (_ person: String, _ day: String) -> String {
        return "Hello \(person) on \(day)"
    }
    

    函数调用greet("John", "23")

    有关函数参数如何工作的更多信息,请参阅:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html

    如果您仍然遇到任何问题,请告诉我。