Swift:如何优雅地使用 print()(三)
作者: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()(三)相关推荐
- 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式
原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: print(_:).输出变量或常量到控制台,并且换行. print(_:_:).输出变量或常量到指定 ...
- 阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON
项目名称:HandyJSON 项目地址:https://github.com/alibaba/handyjson 背景 JSON是移动端开发常用的应用层数据交换协议.最常见的场景便是,客户端向服务端发 ...
- 更优雅的字符串print——pprint库的使用
pprint是一个python下的输出格式化库,可以美化输出字符串的格式,主要是实现对字符串换行宽度.缩进.嵌套对象打印深度的控制,此外还可以实现对np数组实现更为紧凑的输出.下面对pprint库的使 ...
- can和could的用法_如何优雅的撩汉 三次约会套路男神
如何优雅的撩汉 [起手]--诱导邀约 女生约男生太过主动不合适,所以我们要诱导男生进行流程,让他以为这一切都是"他想做". 所以我们和男生聊天互动时,要对男生呈现分享的话题表示出极 ...
- android水波纹加光圈扩散效果,swift UIView优雅的添加点击事件 android Material Design 水波纹扩散效果...
效果图: image 使用方式 UIView,UIImageView,UIButton 一样 let mView = MView() //是否开启水波纹效果,默认开启 mView.rippleEnab ...
- Swift快速入门(三)运算符
相关文章 Swift快速入门(一)第一个Swift程序 Swift快速入门(二)基本数据类型 1.赋值运算符 赋值运算(a = b),表示用b的值来初始化或更新a的值: var b = 10 var ...
- Swift傻傻分不清楚系列(四)基本运算符 o_O!???
本页包含内容: 术语 赋值运算符 算术运算符 组合赋值运算符 比较运算符 三目运算符 空合运算符 区间运算符 逻辑运算符 运算符是检查.改变.合并值的特殊符号或短语.例如,加号(+)将两个数相加(如 ...
- Swift 中的Closures(闭包)详解
Swift 中的Closures(闭包)详解 在Swift没有发布之前,所有人使用OC语言编写Cocoa上的程序,而其中经常被人们讨论的其中之一 -- Block 一直备受大家的喜爱.在Swift中, ...
- iOS开发笔记之九十四——Swift中的可选类型Optional
一.Optional类型的概念 Swift中为何要引入Optional的概念,官方文档中有介绍: Swift also introduces optional types, which handle ...
最新文章
- system.out 汉字乱码
- 学习:双机热备、集群、负载均衡、SQL故障转移群集简单理解(转)
- PS插件cutterman快速切图
- html中文段落,HTML 段落-JavaScript中文网-JavaScript教程资源分享门户
- gvim 安装 taglist
- Knative Eventing 中如何实现 Registry 事件注册机制
- 京东总部4号楼即将投入使用:建面超过13万平方米 耗时644天
- linux下串口程序测试
- DataX实现oracle到oracle之间的数据传递
- Bailian2723 不吉利日期(POJ NOI0113-02)【日期计算】
- (十六)java版b2b2c社交电商spring cloud分布式微服务-用restTemplate消费服务
- Vue——B站黑马程序员教程
- python蓝屏_plt.绘图()导致windows出现蓝屏
- //css 层叠样式表(Cascading Style Sheets)
- 函数最值题目及答案_公务员考试行测技巧:巧解一元二次函数最值问题
- postgresql主从复制、主从切换
- oracle小麦苗博客,《Oracle DBA工作笔记》第一章
- 【云原生之k8s】kubeadm搭建k8s集群
- 金蝶生成凭证模板_金蝶精斗云产品的优势
- Latex texstudio+ctex中文解决方案