스파르타 코딩 클럽 - iOS 스타터 6기/본 캠프

9. 스파르타 코딩 클럽 - guard 조건문

seongpil Heo 2025. 3. 11. 14:19

❓ guard 조건문

guard는 조건이 false일 때 코드를 더이상 실행시키지 않고 코드블록을 빠져나가는 조건문입니다
• 조건이 true일 경우 코드를 계속 진행하고, false일 경우 else 코드 블록에서 탈출해야 합니다.
else 블록은 필수입니다

 

guard 조건 else {
	// 조건이 false일 때 실행되는 코드블록
    // return, break, continue, throw등 코드블록을 종료하는 구문이 필요
    return
}

// 만약 위에서 조건이 false라면 아래 코드는 실행되지 않습니다.
// early exit (빠른 탈출)이라고도 불립니다.

// 조건이 true이면 아래의 코드를 계속 진행합니다.

 

// 반복문에서 사용하는 guard

for i in 0...10 {
	print(i)
    guard i < 5 else { break }
}

/* 출력값
0
1
2
3
4
5
*/

// 한국말로 풀어보기
for i in 0...10 { // 0부터 10까지 반복합니다. 현재값은 i에 넣습니다.
	print(i)
    guard i  < 5 else { break } // i가 5보다 작다면 true이기 때문에 계속 진행합니다.
    				// i가 5보다 크다면 false이기 때문에 else 코드블록을 실행합니다.
                                // else 코드블록에서는 for 반복문을 탈출하는 break
}

 

📝   if vs guard

if 조건문은 true일 때 코드블록을 실행하고, false일 때 다른처리를 할 수 있습니다.
guard 조건문은 false일 때 즉시 탈출하는 방식입니다.
if 조건문은 코드블록을 명시적으로 작성해야 하지만 guardtrue일 때 코드블록이 없고 계속 진행합니다.
guard는 아래의 더이상 코드를 진행하지 못하게 하는 경비원 같은 존재
if는 코드블록에 들어갈 수 있는 티켓