主要学习内容:条件语句,循环语句
Swift的控制流相关语法和其他大部分开发语言区别并不大,这里会对各种语句的基本用法进行代码示例并说明。着重记录那些Swift的新的特性。
循环语句
循环语句中会涉及到break,和continue的使用方法,这两个关键字的用法和其他语言都是一样的,不懂可以自行查阅。
for循环
//for-in 方式 输出0-10
for index in 0...10 {
print(index)
}
//多数语言支持的方式输出0-10
for var index = 0;index <= 10;index++{
print(index)
}
可以使用for循环遍历数组,字典等集合类型的所有元素,上一篇已经说过了,这里不在赘述。
while循环
while condition {
//do something
}
//while循环方式 输出0-10
var index = 0
while index <= 10 {
print(index)
index++
}
repeat while循环
这种循环方式和大多数开发语言的do-while循环是一样的
//repeat while循环方式 输出0-10
var index = 0
repeat {
print(index)
index++
} while index <10
条件语句
根据不同的条件执行不同的代码块,在开发中使用频率很高
if语句
//输出 未成年
var age = 16
if age >=18 {
print("成年")
} else {
print("未成年")
}
switch语句
switch多用于条件分支很多的情况
//将会输出 状态为1
var status = 1
switch score {
case 1:
print("状态为1")
case 2:
print("状态为2")
case 3:
print("状态为3")
default:
print("其他状态")
}
不像oc或者大多数开发语言那样,如果case 1成功执行以后会继续执行下面的其他分支,Swift中某个case分支执行成功就会自动终止switch语句,无须显示的调用break语句。如果你想要贯穿到下一个case分支,可以在每个语句后加上 fallthrough语句。 Swift的switch语句还支持区间匹配,先下面的例子:
var score = 61
switch score {
case 0..<60:
print("学渣")
case 60..<80:
print("及格")
case 80..<90:
print("优秀")
case 90...100:
print("学霸")
default:
print("不合法的分数")
}
可以使用元组(tuple)在switch语句中同时测试多个值
var position = (0,0)//直角坐标系中的原点
switch position {
case (0,0):
print("原点")
case (0<..10, 0<..10)
print("第1象限")
case (0<..10, -10..<0)
print("第4象限")
case (-10..<0, 0<..10)
print("第2象限")
case (-10..<0, -10..<0)
print("第3象限")
default:
print("非法位置")
}
上面的代码表示了,在-10<=x<=10,-10<=y<=10,且不在x轴上y轴上,点的可能位置。
guard
guard 类似于if语句。guard语句总是有else语句
//如果guard的条件被满足,可以继续运行之后的代码,否自else分支会被执行,else 中必须退出下面可能走的分支,如break或return,或continue
func doSomething(str: String?)
{
guard let v = str
else {
return
}
// use v to do something
}
基本用法就这些,以后有特殊需求再看看吧,明天学习函数了!然后会看闭包(和OC中的block概念差不多)