It is in fact pretty simple.
The best is to try in playground
The basic loop is the for loop, where you iterate over elements.
1. Index are just sequential index in a range
for i in 0...9 {
print(i)
}
You could define this range in a var
var zeroToNine = 0...9
for i in zeroToNine {
print(i)
}
Range can come in other flavours, as open range:
for i in 0 ..< 10 {
print(i)
}
This is useful when you iterate on the elements in an array
let myArray = ["A", "B", "C", "D", "E", "F"]
for i in 0..<myArray.count {
print(i)
}
In those examples, you used the index i. But in some cases you don't need:
for i in 0 ..< 10 {
print("Hello") // i is not used
}
Then you don't need to declare i
for _ in 0 ..< 10 {
print("Hello") // i is not used
}
2. You can also iterate directly on elements in an Array (in fact on elements of any collection)
let myArray = ["A", "B", "C", "D", "E", "F"]
for item in myArray {
print(item)
}
This is equivalent to
let myArray = ["A", "B", "C", "D", "E", "F"]
for i in 0..<myArray.count {
print(myArray[i])
}
3. If you don't want to use all items, but just some, use stride
for oddNum in stride(from: 1, to: 5, by: 2) {
print(oddNum)
}
There are other loops very useful when you have to test a condition: do while
4. repeat while, to test condition at the end
var nn = 0
repeat {
print(nn)
nn += 2
//take input from standard IO into variable n
} while nn < 10
5. while where you test at start, before executing the code in brackets
var nn = 0
while nn < 10 {
print(nn)
nn += 2
//take input from standard IO into variable n
}
See the subtle difference between 4 and 5 by testing the following:
var nn = 10
repeat {
print(nn)
nn += 2
} while nn < 10
nn = 10
while nn < 10 {
print(nn)
nn += 2
}
Hope that helps.