一、下划线
在objective-c中,下划线(_) 并没有太大作用,一般用来定义变量名称,比如成员变量的定义 int _age; 但在Swift中,它却有非常大的功效。
1. 只作为标记
var money = 1_000_000
变量money依旧代表的是数字1000000,但看起来更清晰化,数字之间仿佛有了间隔。
2. 任意匹配
比如,判断点(1,1)是否在某个范围之内。我们可以用下面的写法
可以看出,case (_,0) 和 case (0,_) 分别表示x轴和y轴,而这里的"_"就表示x或者y轴上面所有的点。
3. 起忽略作用
比如for循环中只需要执行里面的内容,而又与循环变量没有关系。
for _ in 1...8 { println("Why") }
再举一个例子,忽略外部参数名,先定义一个“默认参数值”的构造函数
func addStudent(name: String,age: Int = 20){ println("添加学生:name=\(name),age=\(age)") } addStudent("Jack",age: 20)
可以看出age形参有个默认参数值20,所以在调用的时候,调用方法中,有age这个提示。
下面,我们试着使用_进行忽略,代码如下:
func addStudent2(name: String,_ age: Int = 20){ println("添加学生:name=\(name),age=\(age)") } addStudent2("Rose",18)
可以看出,这次调用的时候,不需要出现age这个提示符了。
注:关于函数,方法,外部参数名等定义,我会在下一章节进行详细的介绍。
二、switch用法
1. 基本用法,观察写法可知,swift中的switch使用不在需要break关键字了。
2. 多条件匹配,可以看出它的写法与objective-c也有所不同,在objective-c中,多条件匹配是几个case并列写,而在swift中,只需要一个case并且条件之间用","隔开。
3. 范围匹配,其实也就是 "..."的用法,上一节中,我已经进行了说明,这里就不在解释了。
4. 元组匹配(参见下划线用法2)
5. 条件过略,即引入了where关键字,配合switch进行条件过略。
原文链接:https://www.f2er.com/swift/326537.html