if-else
image.png如图所示:
***if后面条件的小括号可以省略
if后面大括号不可以省略
image.png
在以前的OC中,
if非0
是可以这样写的,但是swift后面if条件只能是bool类型
while
image.pngvar age = 10
age++// 这样写在swift中会报错
++age + ++age //这样的代码在不同的编译器里面会有不同的结果,所以在swift3.0 之后不再支持此类运算符
for
image.png_
代表忽略i的值
for-区间运算符应用在数组上
image.png单测区间:省略的一方的限制在于数组的最大索引或最小索引
,例如:names最大是3,第一个for循环就是2到3,第二个是0到2image.png
如果区间运算符不受数组的限制,
range就是负无穷到5
使用contains方法可以验证是否包含
区间类型
image.png注意点:
let str = "a"//默认是string类型
let c : Charactor = "a"//这样才是字符类型
所以在图中,stringRange2
默认是string
类型
带区间的间隔值
image.pngstride
函数的使用,如果hours = 10,10也是会被遍历出来,( 默认是闭区间
)
switch
image.png相当于每个case后面默认写了break,如果想要贯穿就要加fallthrough
fallthtrough
image.pngswitch注意点
image.pngdeefault后面必须加break,加分号也会报错.
image.png
枚举
的取值范围是确定的,因此可以不加default
复合条件
也就是两个条件执行一样的代码
1.fallthrough 2. case后面用逗号分隔
区间匹配,元祖匹配
image.png值绑定
image.png值绑定只要求有一个匹配
,0是可以匹配的,let x就是将2传进去
where
image.png这里的where是判断num是否符合条件决定要不要进大括号里面的,相当于
continue
而不是break.
标签语句
给for循环打上一个标签,内层循环想跳出,可以直接使用标签
outer : for i in 1...4 {
for k in 1...4 {
if k == 3 {
continue outer
}
if i == 3 {
break outer
}
print("i == \(i)","k == \(k)")
}
}
打印结果:
i == 1 k == 1
i == 1 k == 2
i == 2 k == 1
i == 2 k == 2
网友评论