灵活的 switch
Swift 中的switch
支持各种各样的比较操作:
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." }
其它循环 本文来自www.itxxz.com
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 } } } largest
while
循环和do-while
循环: 本文来自www.itxxz.com
var n = 2 while n < 100 { n = n * 2 } n var m = 2 do { m = m * 2 } while m < 100 m
Swift 支持传统的for
循环,此外也可以通过结合..
(生成一个区间)和for-in
实现同样的逻辑。
var firstForLoop = 0 for i in 0..3 { firstForLoop += i } firstForLoop var secondForLoop = 0 for var i = 0; i < 3; ++i { secondForLoop += 1 } secondForLoop
注意:Swift 除了..
还有...
:..
生成前闭后开的区间,而...
生成前闭后闭的区间。