Swift 里进行循环控制

今天继续学习 Swift 的课程,这个课有 100 多课,我基本上都保证不了一天一课……比较郁闷啊!

今天学习的是循环控制的内容,与其他语言类似。

for-in 循环

使用 for-in 循环来遍历序列,比如一个范围的数字,数组中的元素或者字符串中的字符

// 遍历输出 0 1 2 3
for i in 0...3 {
    print(i)
}

// 输出逐个的字符
foc c in "Hello,World" {
    print(c)
}

for-in 遍历字典

当字典遍历时,每一个元素都返回一个(key, value)元组,你可以在 for-in 循环体中使用显式命名常量来分解(key, value)元组成员

for-in 循环

如果不需要序列的每一个值,可以使用下划线来取代遍历名以忽略值

for-in 分段区间

  • 使用 stride(from:to:by:) 函数来跳过不想要的标记(开区间)
  • 闭区间也同样适用,使用 stride(from:through:by:)即可

在 Swift 中可以指定开区间和闭区间,可以避免部分的边界问题,我觉得这个比较好一些

while 循环

repeat-while 循环

示例代码

把上面的关于字典遍历,开闭区间循环,repeat-while 循环,用代码进行演示

let dict = ["spider": 8, "ant": 6, "cat": 4]

for item in dict {
    // 输出元组
    print(item)
    // 输出 key value
    print("\(item.key) has \(item.value) legs")
}

for (animalName, legCount) in dict {
    // 输出两个变量的值
    print("\(animalName) has \(legCount) legs")
}

// 闭区间
for i in stride(from: 0, to: 50, by: 5) {
    print(i)
}
// 开区间
for i in stride(from: 0, through: 50, by: 5) {
    print(i)
}

let base = 3
let power = 5
var result = 1
// 这里循环时,只是循环一个固定的次数,省略掉了类似 C 语言中的循环计数变量
for _ in 1...power {
    result *= base
}

// 243
print(result)

// repeat-while 循环
var count = 0

repeat {
    print(count)
    count += 1
} while count < 5



我的微信公众号:“码农UP2U”

推荐阅读更多精彩内容