swift 控制流(循环、选择等等)

2018-11-14  本文已影响0人  皆为序幕_

For-In 循环

let arr = ["A","B","C"]
for value in arr {
    print(value)
}
let dic = ["key":"a","key1":"b"]
for (key,value) in dic {
    print("\(key)---\(value)")
}
for index in 1 ..< 3 {
    print(index)
}
var a = 2
let b = 3
for _ in 1 ... b {
    a += b
}
print(a)
//stride(from:to:by:)封闭范围是个开区间
for value in stride(from: 0, to: 10, by: 2) {
    print(value) //0    2   4   6   8
}
//stride(from:through:by:)封闭范围是个闭区间
for value in stride(from: 0, through: 10, by: 2) {
    print(value) //0    2   4   6   8    10
}

While 循环

var a = 3
while a > 0 {
    a -= 1
    print(a)  //2  1  0
}
var a = 0
repeat {
    a += 1
    print(a)  //1  2  3
} while a < 3

条件语句

let value = 5
if value > 3 {
    print("\(value) is big than 3")
}


if value > 6 {
    print("\(value) is big than 6")
}else{
    print("\(value) is smaller than 6")
}

控制转移语句

let flag = 5
var description = "北京"
switch flag {
case 5:
    description += "的"
    fallthrough
case 10:
    description += "冬天"
default:
    description += "全是霾"
}
print(description)  //北京的冬天

提前退出(guard...else)

guard *判断语句* else {
    *****
    break\return\continue...
}
语句组
let score = 59
guard score >= 60 else {
    print("考试不及格")   // 不满足就返回
    return
}
print(score)

整个流程都是比较清晰的,而且代码量也比if嵌套的少


检测 API 可用性

if #available(platform name version, ..., *) {
    APIs 可用,语句将执行
} else {
    APIs 不可用,语句将不执行
}
if #available(iOS 12, macOS 10.12, *) {
    print("在 iOS 使用 iOS 12 的 API, 在 macOS 使用 macOS 10.12 的 API")
} else {
    print("使用先前版本的 iOS 和 macOS 的 API")
}

if语句的代码块仅仅在 iOS 10 或 macOS 10.12 及更高版本才运行。最后一个参数,*,是必须的,用于指定在所有其它平台中,如果版本号高于你的设备指定的最低版本,if语句的代码块将会运行

上一篇 下一篇

猜你喜欢

热点阅读