Swift For-in循环
示例
该换的循环可以让你迭代任何序列。
遍历一个范围
您可以遍历半开和封闭范围:
for i in 0..<3 {print(i)
}
for i in 0...2 {
print(i)
}
// 都打印:
// 0
// 1个个
// 2
遍历数组或集合
let names = ["James", "Emily", "Miles"]2.1 2.2for name in names {
print(name)
}
// 詹姆士
// 艾米莉
// 迈尔斯
如果需要数组中每个元素的索引,则可以使用enumerate()on方法SequenceType。
for (index, name) in names.enumerate() {print("The index of \(name) is \(index).")
}
// 詹姆斯的索引是0。
// 艾米丽的指数是1。
// 英里的索引是2。
enumerate()返回一个包含Int从0开始的连续s元素对的惰性序列。因此,对于数组,这些数字将对应于每个元素的给定索引-但是,其他类型的集合可能不是这种情况。
3.0在Swift 3中,enumerate()已重命名为enumerated():
for (index, name) in names.enumerated() {print("The index of \(name) is \(index).")
}
遍历字典
let ages = ["James": 29, "Emily": 24]for (name, age) in ages {
print(name, "is", age, "岁。")
}
// 艾米莉 is 24 岁。
// 詹姆士 is 29 岁。
反向迭代
2.1 2.2您可以使用reverse()on方法SequenceType来反向迭代任何序列:
for i in (0..<3).reverse() {3.0print(i)
}
for i in (0...2).reverse() {
print(i)
}
// 都打印:
// 2
// 1个个
// 0
let names = ["James", "Emily", "Miles"]
for name in names.reverse() {
print(name)
}
// 迈尔斯
// 艾米莉
// 詹姆士
在Swift 3中,reverse()已重命名为reversed():
for i in (0..<3).reversed() {print(i)
}
使用自定义步幅迭代范围
2.1 2.2通过使用上的stride(_:_:)方法,Strideable您可以使用自定义跨度在范围内进行迭代:
for i in 4.stride(to: 0, by: -2) {1.2 3.0print(i)
}
// 4
// 2
for i in 4.stride(through: 0, by: -2) {
print(i)
}
// 4
// 2
// 0
在Swift 3中,上的stride(_:_:)方法Stridable已被全局stride(_:_:_:)函数取代:
for i in stride(from: 4, to: 0, by: -2) {print(i)
}
for i in stride(from: 4, through: 0, by: -2) {
print(i)
}
以上是 Swift For-in循环 的全部内容, 来源链接: utcz.com/z/350092.html