// Playground - noun: a place where people can play
import UIKit
//------------------------------------------------------------------------------
// 1. for
// 传统的for循环方式在swift中同样支持
var num = 0
for(var i = 0; i < 10 ; i++) {
num += i
}
num
//------------------------------------------------------------------------------
// 2. for-in用来遍历一个区间(range)、序列(sequence)、集合(collection)、系列(progression)
// 所有的元素执行一系列语句
// 1> 闭区间循环,从1循环到10
num = 0
for i in 1...10 {
num += i
}
num
// 2> 开区间循环,从1循环到9
num = 0
for i in 1..<10 {
num += i
}
num
// 3> 如果不需要知道区间内每一项的值,可以使用下划线(_)替代变量名,忽略对区间数值的访问
num = 0
for _ in 1...10 {
num++
}
num
num = 0
for i in 0...5 {
for j in 0...5 {
num = i + j
}
}
num
//------------------------------------------------------------------------------
// 3. 循环生成数组
var array = [String]()
for i in 0..<10 {
array.append("itcast (i)")
}
array
//------------------------------------------------------------------------------
// 4. 循环遍历字典
var ageDict:Dictionary<String, Int> = ["mary": 19, "rose": 20]
var names = [String]()
var ages = [Int]()
for (key, value) in ageDict {
names.append(key)
ages.append(value)
}
names
ages
var keys = [String]()
var values = [String]()
var dict1 = ["name": "mike", "age": "18"];
for (name, age) in dict1 {
keys.append(name)
values.append(age)
}
keys
values
//------------------------------------------------------------------------------
// 5. 使用标签退出循环
// 使用标签的其中1个作用是:可以明确指定要退出哪个循环,以下示例是退出名字为"mainloop"的循环
var result = 1;
mainloop : for i in 1...5 {
for j in 1...5 {
result += j
if (i == 3 && j == 3) {
break mainloop
}
}
}
result