一、swift语言控制语句
1.循环结构
1).for ... in 循环
import Foundation
var testArray = [100,80,70,33,55,12,56];
for s in testArray {
println("s is \(s)");
}
输出结果:
s is 100
s is 80
s is 70
s is 33
s is 55
s is 12
s is 56
Program ended with exit code: 0
2).for循环
import Foundation
for(var i = 0; i < 10; i++){
println(i)
}
输出结果为:
0
1
2
3
4
5
6
7
8
9
可以看出来和其他程序语言用法基本相同,就是可以省略分号。
3).do ... while循环
import Foundation
var i = 10;
do{
println("i is \(i)")
i--
}while(i > 0)
输出结果为:
i is 10
i is 9
i is 8
i is 7
i is 6
i is 5
i is 4
i is 3
i is 2
i is 1
如果你想写的精简一些,下面这种写法也不错
var m = 2
do {
m = m * 2
println (m)
} while m < 100
4).while循环
import Foundation
var i = 10;
while(i > 0){
println(i)
i--
}
打印输出:
10
9
8
7
6
5
4
3
2
1
同样可以写成:
var a = 0
while a < array1.count{
a++
println(a)
}
5).for in 0...n
还有种如下形式的写法:
var i = 100;
var array1 = String[]()
for s in 0..i{
println(s)
array1.append("item \(s)");
}
可以输出0——100
6).for (key,value) in 字典
这种写法真是很不错啊:
var dict = ["name":"ying","age":"19","gender":"woman"]
for (key,value) in dict{
println("\(key),\(value)")
}
输出了:
gender,woman
name,ying
age,19
2.switch语句import Foundation
var s = 1;
switch(s){
case 1 :
println("dog")
case 2 :
println("pig")
case 3 :
println("egg")
case 4 :
println("pear")
case 5 :
println("duck")
default:
println("default")
}
打印输出:
dog
上面的句子很简单,因为s为1,所以输出“dog”,值得一提的是default必须得写上,否则通不过编译。此外比较重要的是,和其他语言不同的是,swift把穿透去掉了,默认只执行一个case,如果要进行穿透需要显式使用:
fallthrough;// 让继续往下走,请看如下示例:
import Foundation
var s = 3;
switch(s){
case 1 :
println("dog")
case 2 :
println("pig")
case 3 :
println("egg")
fallthrough
case 4 :
println("pear")
case 5 :
println("duck")
default:
println("default")
}
我们在第三个case下面加入了fallthrough,因此输出结果就变成了:
egg
pear
还有其他的一些用法与不同,下次再说。
3.可选变量
var myName:String?="july"
上面的写法带了问号,说明myName是一个可选变量,可以为nil。注意:不能写成String
?
=
"july"或String ?="july"等有空格的形式。
var myName:String?="july"
if let name = myName {
println("hello \(name)")
}
输出:
hello july
如果写成如下形式:
var myName:String?="july"
myName = nil
if let name = myName {
println("hello \(name)")
}
则不输出。