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

Swift:如何优雅地使用 print()(三)相关推荐

  1. 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

    原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: print(_:).输出变量或常量到控制台,并且换行. print(_:_:).输出变量或常量到指定 ...

  2. 阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON

    项目名称:HandyJSON 项目地址:https://github.com/alibaba/handyjson 背景 JSON是移动端开发常用的应用层数据交换协议.最常见的场景便是,客户端向服务端发 ...

  3. 更优雅的字符串print——pprint库的使用

    pprint是一个python下的输出格式化库,可以美化输出字符串的格式,主要是实现对字符串换行宽度.缩进.嵌套对象打印深度的控制,此外还可以实现对np数组实现更为紧凑的输出.下面对pprint库的使 ...

  4. can和could的用法_如何优雅的撩汉 三次约会套路男神

    如何优雅的撩汉 [起手]--诱导邀约 女生约男生太过主动不合适,所以我们要诱导男生进行流程,让他以为这一切都是"他想做". 所以我们和男生聊天互动时,要对男生呈现分享的话题表示出极 ...

  5. android水波纹加光圈扩散效果,swift UIView优雅的添加点击事件 android Material Design 水波纹扩散效果...

    效果图: image 使用方式 UIView,UIImageView,UIButton 一样 let mView = MView() //是否开启水波纹效果,默认开启 mView.rippleEnab ...

  6. Swift快速入门(三)运算符

    相关文章 Swift快速入门(一)第一个Swift程序 Swift快速入门(二)基本数据类型 1.赋值运算符 赋值运算(a = b),表示用b的值来初始化或更新a的值: var b = 10 var ...

  7. Swift傻傻分不清楚系列(四)基本运算符 o_O!???

    本页包含内容: 术语 赋值运算符 算术运算符 组合赋值运算符 比较运算符 三目运算符 空合运算符 区间运算符 逻辑运算符 运算符是检查.改变.合并值的特殊符号或短语.例如,加号(+)将两个数相加(如  ...

  8. Swift 中的Closures(闭包)详解

    Swift 中的Closures(闭包)详解 在Swift没有发布之前,所有人使用OC语言编写Cocoa上的程序,而其中经常被人们讨论的其中之一 -- Block 一直备受大家的喜爱.在Swift中, ...

  9. iOS开发笔记之九十四——Swift中的可选类型Optional

    一.Optional类型的概念 Swift中为何要引入Optional的概念,官方文档中有介绍: Swift also introduces optional types, which handle ...

最新文章

  1. system.out 汉字乱码
  2. 学习:双机热备、集群、负载均衡、SQL故障转移群集简单理解(转)
  3. PS插件cutterman快速切图
  4. html中文段落,HTML 段落-JavaScript中文网-JavaScript教程资源分享门户
  5. gvim 安装 taglist
  6. Knative Eventing 中如何实现 Registry 事件注册机制
  7. 京东总部4号楼即将投入使用:建面超过13万平方米 耗时644天
  8. linux下串口程序测试
  9. DataX实现oracle到oracle之间的数据传递
  10. Bailian2723 不吉利日期(POJ NOI0113-02)【日期计算】
  11. (十六)java版b2b2c社交电商spring cloud分布式微服务-用restTemplate消费服务
  12. Vue——B站黑马程序员教程
  13. python蓝屏_plt.绘图()导致windows出现蓝屏
  14. //css 层叠样式表(Cascading Style Sheets)
  15. 函数最值题目及答案_公务员考试行测技巧:巧解一元二次函数最值问题
  16. postgresql主从复制、主从切换
  17. oracle小麦苗博客,《Oracle DBA工作笔记》第一章
  18. 【云原生之k8s】kubeadm搭建k8s集群
  19. 金蝶生成凭证模板_金蝶精斗云产品的优势
  20. Latex texstudio+ctex中文解决方案

热门文章

  1. 设计模式:建造者模式
  2. springmvc十九:springmvc表单标签
  3. Spring Boot中对自然语言处理工具包hanlp的调用详解
  4. Python小知识点(5)--面向对象部分
  5. 2D平台游戏王牌英雄的AI寻路解决方案
  6. centos 7 jenkins githup测试
  7. Linux socket 网络编程常用函数总结
  8. MATLAB 练习题 金币
  9. ROS系统 C++或Python实现订阅者Subscriber
  10. C语言 将文件内容转换成Dump文件数据格式