[iOS-Swift] 조건문

TIL 8일 차 - Swift 문법 조건문

 

1. if 조건문

예시

var age = 15

if age >= 19 {
    print("20살이 넘은 성인입니다.")
} else if age >= 17 {
    print("20살 미만, 17세 이상인 고등학생입니다.")
} else if age >= 14 {
    print("17살 미만, 14세 이상인 중학생입니다.")
} else {
    print("아기입니다.")
}

// 17살 미만, 14세 이상인 중학생입니다. 출력 됨

 

2.  guard  "이 조건이 false이면 여기서 바로 썩 나가 걸아"

 

1) guard는 조건이 false일 때 코드를 더 이상 실행하지 않고 코드블록을 빠져나가는 조건문임

2) 조건이 true일 경우엔 코드를 계속 진행하고, false일 경우엔 else 코드 블록을 실행해 탈출해야 함

3) else 블록은 필수이고 true일 때는 특별한 코드블록이 없음

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 }
    // i가 5보다 작으면 else문 실행x
    // i가 5보다 크거나 같으면 else문 실행되어 for문 탈출
}

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

 

 

3. switch

- 하나의 값을 여러 case와 비교하는 조건문임

- case에서 조건을 확인해 조건이 맞으면 코드를 실행하고 switch 코드블록에서 빠져나감

- case에서 맞는 조건이 없으면 default에서 구현한 코드가 실행됨

- case, default 조건 뒤에는 :를 사용해 동작을 구현함

- case에서 실행하고 싶은 코드가 없다면 break 키워드를 사용해야 함

- case에서 조건이 맞아 실행된 후 빠져나가지 않고 아래의 조건도 확인하고 싶다면 fallthrough 키워드를 사용하면 됨

let score = 80

switch score {
    case 90...100:
        print("A등급")
    case 80..<90:
        print("B등급")
    case 70..<80:
    print("C등급")
    
    default: // score가 위의 case에 하나라도 만족하지 못했다면 default문을 실행함
        print("D등급")
}

 

break와 fallthrough 활용

var score = 50

switch score {
	case 90...:
    	break
    default:
        print("공부해라") // case에 만족하지못하므로 default문 실행함
}

switch score {
case 50...:
    print("50점 이상이시네요")
    fallthrough // case 50...:을 만족해도 밑에있는 조건문 계속 확인
case 50:
    print("딱 50점이네요!")
default :
    print("공부를 더 해야겠네요;")
}

 

 

 

++) break와 continue의 차이점?

 

break -> 반복문을 완전히 끝냄

continue -> 반복문의 이번회차는 넘어가고 다음 회차 반복함

'iOS  > Swift ' 카테고리의 다른 글

[iOS-Swift] 고급 데이터 타입(Collection Type)  (0) 2026.01.06
[iOS-Swift] 함수  (0) 2026.01.06
[iOS-Swift] 기본 데이터 타입  (0) 2026.01.06
[iOS-Swift] 변수와 상수  (0) 2026.01.06
[iOS] 앱 아키텍쳐 기초 (MVC,MVVM)  (0) 2026.01.05