public func print(_ items: Any..., separator: String = default, terminator: String = default)
根據Swift的函數部分關于默認值得部分“你可以在函數體中通過給參數賦值來為任意一個參數定義默認值(Deafult Value)。當默認值被定義后,調用這個函數時可以忽略這個參數?!彼猿R?guī)調用該方法的時候,可以被使用成除第一個參數必要以外的其他任意組合,接下來我們探究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").

屏幕快照 2017-03-16 上午10.37.07.png
這些大概是Print部分的常規(guī)方法,但是在使用時還有一些其他方法
public func print<Target : TextOutputStream>(_ items: Any..., separator: String = default, terminator: String = default, to output: inout Target)
這個就應該是Print的進階了,現在可以看到這里有兩個跟常規(guī)不一樣的部分,第一個是<Target : TextOutputStream>,第二個是
to output: inout Target。
-
<Target : TextOutputStream>意思是target可以遵循一個TextOutputStream協議方法,通常來說,String這個屬性本身就是遵循該協議的。該協議的存在一個可以修改自身屬性,標記為public mutating 的方法write。該方法的作用為
Appends the given string to this string. -
to output: inout Target。inout 輸入輸出參數 根據Swift的函數部分關于輸入輸出參數的部分你只能傳遞變量給輸入輸出參數。你不能傳入常量或者字面量,因為這些量是不能被修改的。當傳入的參數作為輸入輸出參數時,需要在參數名前加*
&* 符,表示這個值可以被函數修改。

屏幕快照 2017-03-16 下午1.34.30.png
當然你可以自定定義一個符合
TextOutputStream的自定義的部分。這部分我用系統(tǒng)提供的代碼例子。

屏幕快照 2017-03-16 下午1.34.44.png
這個是對Swift Print部分的收集