continue
- stops code execution and returns to the beginning of the loop’s start
// -> 1, 2, 3, 8, 9, 10
for i in 1...10 {
if (i >= 4 && i <= 7) {
continue
}
print(i)
}
example: Remove Vowels
// -> grtmndsthnklk
let puzzleInput = "great minds think alike"
var puzzleOutput = ""
for char in puzzleInput {
switch char {
case "a", "e", "i", "o", "u", " ":
continue
default:
puzzleOutput.append(char)
}
}
print(puzzleOutput)
break
- completely interrupts the loop execution or switch
- jumps to the end of the
}
brace
// -> 1, 2, 3
for i in 1...10 {
if (i >= 4) && (i <= 7) {
break
}
print(i)
}
switch puzzleOutput {
default:
break
}
- when used with a default switch, it says no action needs to be performed
fallthrough
- auto evaluates the next case as true even if it isn’t
// -> number above
var numb = 6
switch numb {
case 0...6:
print("number")
fallthrough
default:
print("number above")
}
return
- ends function execution and returns a specified value (or no value if used alone)
- can have multiple return stmts (ie. a switch), but once one is executed, the function is exited
- can return tuples
Labeled Statements
- possible to label any control stmts (loops, if, switch)
- then use
break continue
to navigate
// -> x = 1-5, y = 1
outerLoop: for x in 1...5 {
innerLoop: for y in 1...3 {
if y == 2 {
continue outerLoop
}
print("x = \(x), y = \(y)")
}
}