Swift 程序流程控制
Swift采用类同c语言的流程控制语句,if, for, for-in, while, do-while , switch, break, continue .Swift语言的Switch语句自动添加了break效果,这样你可以不用没个case后面再写break.同c语言不同,swift语言的if for while 等,没有括号来括表达式
1: if 语句。if语句只对逻辑值检测。这里不同于c语言的if语句是检测是否 非0.
var bFlag:Bool = true if bFlag { println("\(bFlag)") }
2: for语句,for语句的用法类似于c语言for语句
var index:Int = 0 for index; index < 5; index++ { println("\(index)\n") }
3: for-in语句用于多集合的遍历
for item in 1..5 { println("\(item) ") }
如果不使用集合元素可以用 _忽略
var iCount : Int = 1 let iBase : Int = 2 for _ in 1...3 { iCount *= iBase } println("\(iCount)")
用for-in 遍历数组
let array = [1,3,5,7] for item in array { println("\(item) ") }
for-in 遍历字典
let dic = ["key1":"value1", "key2":"value2", "key3":"value3"] for (key, value) in dic { println("key:\(key) value:\(value) \n") }
4:while循环。while循环判断逻辑值
var bFlag:Bool = true var iCount:Int = 0 while bFlag { iCount++ if iCount > 3 { bFlag = false } println("\(iCount)\n") }
5: do-while 。while/ do-while 循环控制流程是和c语言一样的,只是他们的判断是逻辑值而不是c语言那样的 !0 值。
var bFlag:Bool = true var iCount:Int = 0 do { iCount++ if iCount > 3 { bFlag = false } println("\(iCount)\n") }while bFlag
6:switch 语句。switch语句必须是完备的语句,defualt语句必须在所有case语句的最后。每个case后switch语句会自动break。case 块中不允许空语句。一个case条件可以使用范围匹配。同时case条件可以使用元组匹配,而且元组可以用 "_" 表示任何值
let iCount :Int = 3 switch iCount{ case 1...6: println("in") case 7..9: println("out") default: println("def") }
let character: Character = "c" switch character{ case "a", "b", "c" : println("xx") case "d", "e": println("oo") default: println("def") }
var somePointe = (1,2) switch somePointe { case(0, 0): println("0.0") case(_, 2): println("_, 2")//_匹配 进这句 case(1, 2): println("1, 2")//不会进,前面已经bread default: println("def") }
fallthrough 关键字是在switch语句中去除break,让代码可以继续下个语句。