Swift:如何優雅地使用 print()(三)

weixin_33763244發表於2016-08-25

作者:Andyy Hope,原文連結,原文日期:2016-04-21
譯者:Darren;校對:Cee;定稿:CMB

如果說 log 是一種時尚,那你就是時尚設計師。

我本來沒打算寫這個系列的第三部分的,但是在前兩部分的讀者的回覆中我得到了一些反饋資訊,我覺得看一看人們是怎麼建議的是一個很好的閱讀和練習的方式。

如果你還沒看過前面的部分,你可以回頭看看第一部分第二部分

log 列舉

有讀者提到,也許使用「log」這個詞並不是最好的選擇。原因很簡單,「log」 會和計算演算法複雜度會用到的對數相混淆。我完全同意。

函式過載

這一點我沒想到我會忽視了。不要與函式重寫(Override)相混淆,函式過載(Overload)是一個允許我們建立同名但不同引數的函式的語言特性。


print("Hello World")

這是一個普通的 print() 函式,可以通過可變引數的形式使用多個 Any 型別的引數。現在我們用第二部分的一個例子來過載它:


func print(ln: String) {
    print("✏️" + " " + ln
}
func print(url: NSURL) {
    print("?" + " " + url.absoluteString
}

我們沒有在一個 struct 或 class 中宣告,因為我們希望這是一個全域性函式,這樣我們就可以在我們專案中的任何一個 .swift 檔案中訪問和使用了。


感謝 Neradoc 對避免使用「log」術語的建議,Jérôme Alves 對使用函式過載的建議,以及 Wayne Bishop 在他的 Swift 演算法 一文中提到了我。

本文由 SwiftGG 翻譯組翻譯,已經獲得作者翻譯授權,最新文章請訪問 http://swift.gg

相關文章