public func print(_ items: Any..., separator: String = default, terminator: String = default)
根据Swift的函数部分关于默认值得部分“你可以在函数体中通过给参数赋值来为任意一个参数定义默认值(Deafult Value)。当默认值被定义后,调用这个函数时可以忽略这个参数。”所以常规调用该方法的时候,可以被使用成除第一个参数必要以外的其他任意组合,接下来我们探究separator 和terminator 这两个字段的用法。
- 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").
这些大概是Print部分的常规方法,但是在使用时还有一些其他方法
public func print(_ items: Any..., separator: String = default, terminator: String = default, to output: inout Target)
这个就应该是Print的进阶了,现在可以看到这里有两个跟常规不一样的部分,第一个是<Target : TextOutputStream>
,第二个是 to output: inout Target
。
- 意思是target可以遵循一个TextOutputStream协议方法,通常来说,String这个属性本身就是遵循该协议的。该协议的存在一个可以修改自身属性,标记为public mutating 的方法write。该方法的作用为
Appends the given string to this string
. - to output: inout Target。inout 输入输出参数 根据Swift的函数部分关于输入输出参数的部分你只能传递变量给输入输出参数。你不能传入常量或者字面量,因为这些量是不能被修改的。当传入的参数作为输入输出参数时,需要在参数名前加*
&
* 符,表示这个值可以被函数修改。
TextOutputStream
的自定义的部分。这部分我用系统提供的代码例子。 这个是对Swift Print部分的收集