在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Control Flow 用 if 和 switch 来做条件语句,并且用for-in,for,while,和do-while做循环,条件和循环的括号是可以不写的,但是body外面的括号是必须写的 1 let individualScores = [75,43,103,87,12] 2 var teamScore = 0 3 for score in individualScores{ 4 if score > 50{ 5 temScore +=3 6 } else { 7 tempScore +=1 8 } 9 } 在 if 语句中,条件必须是一个boolean 表达式,意思就是这个代码如果是 if socre { ... }则是错误的,不能够隐式和0比较 可以使用 if 和 let 来锁定变量的值,在变量声明类型的后面加上问号 ? 标记该变量是可选择的 var optionalString: String?="Hello" optionalString == nil var optionaLName: String?="John Appleseed" var greeting = "hello!" if let name = optionlName { greeting = "Hello, \(name)" } 设置optionalName 为nil 看看是什么结果? 如果这个optional value为nil,则这个条件是 false 并且这个代码节点会被跳过,在其他情况下,这个optional value赋值给 let 常量之后,这使得在if结构中的代码可以执行 switch 支持任何类型的数据和各种各样的操作,他们并不局限于integer类型和检测相等,如下: let vegetable = "red pepper" switch vegetable { case "celery": let vegetableComment = "add some raisins and make ants on a log." case "cucumber","watercress": let vegetableComment ="That would make a good tea sandwich." case let x where x.hasSuffix("pepper"): let vegetableComment ="Is it a spicy \(x)?" default: let vegetableComment = "Everything tastes good in soup." } 执行条件相匹配的结构块中的代码后,程序会退出switch语句,不会执行下一个case 你使用for-in语句遍历字典中的项目,给他们提供一个键值: let interestingNumbers = [ "Prime":[2,3,5,7,11,13] "Fibonacci": [1,1,2,3,5,8] "Square": [1,4,9,16,25] ] var largest = 0 for (kind, numbers) in interestingNumbers{ for number in numbers{ if(number > largest) { largest = number } } } 用while来循环代码块,直到条件的变化,一个循环的条件可以在最后替换,从而确定少执行一次: var n = 2 while n < 100{ n = n*2 } n var m = 2 do { m = m*2 }while m <100 m 你也可以用..来做一个范围的集合,通过写一个显式的初始化索引,条件和增量,来判断,下面两个都是: var firstForLoop = 0 for i in 0..3{ firstForLoop += i } firstForLoop var secondForLoop = 0 for var i = 0; i<3; i++{ secondForLoop += i } secondForLoop 使用.. 做一个范围
|
请发表评论