因为Objective-C(参见此处)和Swift 的命名约定是以您的第一个参数的名称结束您的方法名称:
func greetPersonNamed(name: String, onDay day: String) -> String { return "Hello \(name), today is \(day)." } greetPersonNamed("Anna", onDay: "Tuesday")
如果您更喜欢写第一个参数的名称,可以这样做:
func greet(name name: String, day: String) -> String { /* ... */ } greet(name: "Anna", day: "Tuesday")
第一个name
是外部名称,第二个是在方法中使用的名称.
编辑
Swift 3的命名准则已经发布(参见此处),它们与Objective-C使用的命名准则不同.
第一个参数的名称不应包含在方法名称中.如果功能意图明确,则可以省略第一个参数的外部名称.否则你应该说出来.
假设你可以和人和宠物打招呼.在这种情况下,您应该为第一个参数添加外部名称:
func greet(person name: String, day: String) func greet(pet name: String, day: String) greet(person: "Anna", day: "Tuesday")
如果你只能问候人,那么你可以省略它:
func greet(name: String, day: String) greet("Anna", day: "Tuesday")