Swift – 控制流及控制结构说明(if,switch,for,while)

注:代码已升级至Swift4

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("在什么地方")
}

(5)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
上一篇 Swift - 复杂数据类型说明(数组,字典,结构体,枚举)
下一篇 Swift - 自定义函数规则说明
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。