제어전달문
제어전달문은 조건문과 반복문에서 사용하며, 코드의 실행흐름을 바꾸는 역할을 합니다.
예제를 하나 적어보겠습니다.
for index in 1...100{
print("start")
if index < 5 {
continue
}
if index > 10 {
break
}
print("end")
}
코드의 흐름을 확인해 보겠습니다.
1에서 100까지 반복하는 코드이며
매번 반복을 시작할 때 마다 start를 출력하고 있습니다.
반복상수에서는 index가 5보다 작으면 contiune 가 출력됩니다.
게속 반복하다 반복상수가 11이 되면 브레이크가 호출되며
브레이크는 호출 즉시 코드를 끝내는 역할을 가지고 있습니다.
break문
위에서 설명했지만 브레이크는 호출 즉시 코드를 끝냅니다
예제를 하나 적어보겠습니다.
let num = 1
switch num {
case 1 ... 10:
print("begin block")
if !num.isMultiple(of:2) {
break
}
print("end block")
default:
break
}
print("Done")
코드를 실행하면
begin block 이 출력된 후 바로 Done 이 출력됩니다.
하나씩 따라가보겠습니다.
case block 에서 1에서 10사이의 범위를 매칭시키고 있습니다.
num의 값은 1이니까 케이스블록의 범위 안에 있습니다.
그렇기 때문에 begin block 이 출력되고,
그 후 if문에서 홀수인지 확인하는데
num의 값이 홀수니까 if블록이 실행되며 브레이크문이 작동합니다.
그렇기 때문에 뒤에있는 end block은 출력되지 않습니다.
switch문이 종료되고 바로 뒤에있는 print문이 출력됩니다.
이번에는 반복문에서 사용해보겠습니다.
for index in 1 ...10{
print(index)
if index > 1 {
break
}
}
원래대로라면 1부터 10까지 실행되어야 하지만
if문에서 1보다 크면 브레이크문이 실행되게 해 놨기 때문에
컴파일되면 값은 1 2 가 나오게 됩니다.
continue 문
countinue는 반복문에서만 사용합니다.
예제는 for 문으로 사용하지만 while 문에서도 똑같이 사용할 수 있습니다.
for index in 1 ... 10{
if index.isMultiple(of: 2) {
continue
}
print(index)
}
해당 코드를 실행하면 1 3 5 7 9 라는 값이 나오게 됩니다.
이 코드에서 countinue의 사용의미는 현재 실행중인 반복을 즉시 끝내고 다음 반복으로 넘어갑니다.
브레이크와는 다르게 for문 자체를 끝내지는 않습니다.
'기초' 카테고리의 다른 글
11.Functions & Closures (1) | 2024.06.02 |
---|---|
10.Optionals (0) | 2024.06.02 |
8.Range Operators (0) | 2024.06.02 |
7.Conditional Statements (1) | 2024.06.02 |
6.Operators (0) | 2024.06.01 |