Swift中的`= default`参数如何工作?

时间:2017-05-07 13:13:01

标签: swift

摘自Swift标准库

...
///   - separator: A string to print between each item. The default is a single
///     space (`" "`).
///   - terminator: The string to print after all items have been printed. The
///     default is a newline (`"\n"`).
...
public func print(_ items: Any..., separator: String = default, terminator: String = default)

separator的默认值如何设置为spaceterminator - \n

1 个答案:

答案 0 :(得分:2)

这在swift中通常是不可能的。如您所见,这不会编译:

func a(_ a: String = default) {
    print(a)
}

a()

当你去标准库中定义某些东西时,它们是另外一件事。这就像swift的“头文件”。 :)

如您所见,您展示的print方法甚至没有正文。怎么可能?不,这不对。但他们可以做他们想做的事情,因为它的目的是向你展示宣言,而不是如何实施。