1

作者: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


SwiftGG翻译组
1.6k 声望957 粉丝

走心的 Swift 翻译组