let age =4if age >=22{print("Get married")}elseif age >=18{print("Being a adult")}elseif age >=7{print("Go to school")}else{print("Just a child")}
while和repeat-while
var num =5while num >0{print("num is \(num)")
num -=1}// 打印了5次
repeat-while相当于do-while
var num =-1repeat{print("num is \(num)")}while num >0// 打印了1次
for
闭区间运算符:a…b, a <= 取值 <= b
let names =["Anna","Alex","Brian","Jack"]for i in0...3{print(names[i])}// Anna Alex Brian Jacklet range =1...3for i in range {print(names[i])}// Alex Brian Jackfor_in1...3{print("for")}// 打印了3次// i默认是let,有需要时可以声明为varforvar i in1...3{
i +=5print(i)}// 6 7 8
半开区间运算符:a…<b, a <= 取值 < b
for i in1..<5{print(i)}// 1 2 3 4
单侧区间:让区间朝一个方向尽可能的远,如 [2…] / […<2]
let names =["Anna","Alex","Brian","Jack"]for name in names[0...3]{print(name)}// Anna Alex Brian Jackfor name in names[2...]{print(name)}// Brian Jackfor name in names[...2]{print(name)}// Anna Alex Brianfor name in names[..<2]{print(name)}// Anna Alexlet range =...5
range.contains(7)// false
range.contains(4)// true
range.contains(-3)// true
var number =1switch number
{case1:print("number is 1")case2:print("number is 2")default:print("number is other")}// number is 1
使用fallthrough可以实现贯穿效果
var number =1switch number {case1:print("number is 1")fallthroughcase2:print("number is 2")default:print("number is other")}// number is 1 // number is 2
流程控制if-elseif后面的条件可以省略小括号条件后面的大括号不可以省略if后面必须是布尔值let age = 4if age >= 22 { print("Get married")} else if age >= 18 { print("Being a adult")} else if age >= 7 { print("Go to school")} else{ print("Just a child")}while和r