【发布时间】:2018-08-27 04:52:48
【问题描述】:
func greet (person person: String, on day: String) -> String {
return "Hello \(person) on \(day)"
}
可以执行为
问候(“约翰”,“23”)
Swift 4 - 自定义参数标签表现为无参数标签 - “_”。
如何强制执行自定义标签?
问候(人:“约翰”,在:“23”)
谢谢。
编辑 - 问题不正确,因为自定义标签是强制性的
【问题讨论】:
-
在 Playground 中执行代码会产生预期的错误“Missing argument labels 'person:on:' in call”。您确定没有意外实现的没有参数标签的重载版本吗?
-
func greet(person person: String, on day: String) -> String { ... }不能作为greet("John", "23")执行。顺便说一句,额外的person是多余的。应该是func greet(person: String, on day: String) -> String { ... }。 -
以 greet("John", "23") 执行这个函数会得到编译错误 "Missing argument labels 'person:on:' in call"
-
谢谢,看来我在 Swift 的命令行中提供了许多函数定义,编译器混合了这些定义,所以我可以将函数作为 greet ("John", "23") 执行。你的回答很完美,谢谢。