当前位置: > > > Swift - 控制流/控制结构说明(if,switch,for,while)

Swift - 控制流/控制结构说明(if,switch,for,while)

一、if 语句

if count >= 3 {
	print("yes")
}else{
	print("no")
}

二、switch 语句 

(1)Swift中不需要在case块中显示地使用break跳出switch。如果想要实现C风格的落入特性,可以给需要的case分支插入fallthrough语句
let fruit = "apple"
switch fruit{
	case "apple":
		print("good")
		fallthrough
	case "banana","orange":
		print("great")
	default:
		print("bad")
}
(2)case分支还可以进行区间匹配
let age = 5
switch age {
	case 0...11:
		print("正太")
	case 12...30:
		print("少年")
	default:
		print("大叔")
}
(3)case分支同样支持单侧区间匹配
let num = -5
switch num {
case ..<0:
    print("负数")
case 0:
    print("0")
case 0...:
    print("正数")
default:
    print("未知")
}
(4)使用元组匹配(判断属于哪个象限)
let point = (2,2)
switch point {
	case (0,0):
		print("坐标在原点")
	case (_,0):
		print("坐标在x轴上")
	case (0,_):
		print("坐标在y轴上")
	case (-3...3, -3...3):
		print("坐标在长宽为6的正方形内")
	default:
		print("在什么地方")
}
(4)case中还可以使用where关键字来做额外的判断条件
var height = 1.72
switch height{
	case 1...3 where height == 1.72:
		print("case 1")
	case 1...3 where height == 2:
		print("case 2")
	default:
		print("default")
}

三、for 循环语句 

(1)for条件递增循环注意:这种C语言风格的for循环语法已在Swift3中被废除,建议使用下面的for-in,for-each写法
//已弃用
//for var i=1; i<100; i++ {
//	print("\(i)")
//}
(2)for-in循环
for i in 1..<100{
	print("\(i)")
}

//遍历数组元素
let numbers = [1,2,4,7]
for num in numbers{
	print("\(num)")
}

//遍历字典
let nameOfAge = ["lily":18, "Candy":24]
for (aName, iAge) in nameOfAge{
	print("\(aName) is \(iAge)")
}

//遍历字符串的字符
for chare in "hangge".characters {
	print(chare)
}
(3)for-each循环
(1...10).forEach {
    print($0)
}

四、while 循环语句

while i<100 {
	i+=1
}

repeat{
	i+=1
}while i<100
评论0