자신과 가장 인접한 문장을 중지한다.
// switch 문에서의 break
let num = 1
switch num {
// num = 1 이기에 아래 케이스에 해당된다.
case 1...10:
print("begin block")
// num = 1 이기에 아래의 If 문은 true이다.
if num % 2 != 0 {
// switch 문 자체를 끝낸다
break
}
print("end block")
default:
break
}
print("done")
begin block
done
// for 반복문
for index in 1...10 {
print(index)
if index > 1 {
break
}
}
1
2
// 중첩 for 반복문
for i in 1...10 {
print("OUTER LOOP",i)
for j in 1...10 {
print("inner loop", j)
if j > 1 {
// 가장 인접한 for j in 1...10 가 종료가 된다.
break
}
}
}
OUTER LOOP 1
inner loop 1
inner loop 2
OUTER LOOP 2
inner loop 1
inner loop 2
OUTER LOOP 3
inner loop 1
inner loop 2
...
- 반복문에서만 사용이 된다.
- 문장을 중지시키지는 않고, continue 이하의 구문을 무시한 채 바로 그냥 다음 반복으로 넘어간다.
for index in 1...10 {
if index % 2 == 0 {
continue
}
print(index)
}
1
3
5
7
9
for i in 1...10 {
print("OUTER LOOP", i)
for j in 1...10 {
if j % 2 == 0 {
continue
}
print("inner loop", j)
}
}
OUTER LOOP 1
inner loop 1
inner loop 3
inner loop 5
inner loop 7
inner loop 9
OUTER LOOP 2
inner loop 1
inner loop 3
inner loop 5
inner loop 7
inner loop 9
...
원하는 문장을 선택하여 종료하고 싶을 때 사용을 한다.
for i in 1...3 {
print("OUTER LOOP", i)
for j in 1...3 {
print(" inner loop", j)
break
}
}
OUTER LOOP 1
inner loop 1
OUTER LOOP 2
inner loop 1
OUTER LOOP 3
inner loop 1
outer : for i in 1...3 {
print("OUTER LOOP", i)
for j in 1...3 {
print(" inner loop", j)
break outer
}
}
OUTER LOOP 1
inner loop 1
즉, 원래는 for j in 1...3 문장을 종료시켜야되지만, outer라는 새로운 Label을 생성하여서 outer를 break하였기에, for i in 1...3 이 종료가 된다.