Swift & iOS

[Swift] 조건문 (if-else, switch, guard)

hammii 2022. 6. 8. 16:13
728x90
반응형

 

조건문은 주어진 조건에 따라서 어플리케이션을 다르게 동작하도록 하는 것이다.

swift에서 사용하는 조건문 3가지를 알아보도록 하자.

 

1. if-else 문

if 조건식1 {
    // 조건식1을 만족할 때 실행할 구문
} else if 조건식2 {
    // 조건식2를 만족할 때 실행할 구문
} else {
    // 아무 조건식도 만족하지 않을 때 실행할 구문
}

if-else 문 예시

let animal = "cat"

if animal == "dog" {
    print("강아지 사료 주기")
} else if animal == "cat" {
    print("고양이 사료 주기")
} else {
    print("해당하는 동물 사료가 없음")
}

 

2. Switch 문

  • 패턴 기반으로 실행된다.
  • 하나의 패턴이 일치하면 스위치 문은 종료된다.
  • C언어에서는 case마다 break를 적어줘야하지만, swift에서는 break를 적어주지 않아도 된다.
switch 비교대상 {
    case 패턴1:
        // 패턴1이 일치할 때 실행되는 구문
    case 패턴2, 패턴3:
        // 패턴2, 3이 일치할 때 실행되는 구문
    default:
        // 어느 비교 패턴과도 일치하지 않을 때 실행되는 구문
}

switch 문 예시

let color = "green"

switch color {
case "blue":
    print("파란색입니다.")
case "green":
    print("초록색입니다.")
case "yellow":
    print("노란색입니다.")
default:
    print("찾는 색상이 없습니다.")
}

switch 문에서 범위 연산자를 사용할 수 있다.

let temperature = 30

switch temperature {
case -20...9:
    print("겨울입니다.")
case 10...4:
    print("가을입니다.")
case 15...25:
    print("봄입니다.")
case 26...35:
    print("여름입니다.")
default:
    print("이상기후입니다.")
}

범위 연산자를 모른다면 더보기 클릭 !

더보기
  • A...B : A 이상 B 이하
  • A.. <B : A 이상 B 미만
  • A... : A 이상
  • ... A : A 이하
  • .. <A : A 미만

 

3. guard 문

  • 함수 내에서 사용되며 잘못된 값이 함수에 들어오는 것을 방지하는 것을 목적으로 한다.
guard 조건 else {
    // 조건을 만족하지 못할 때 실행되는 구문
}

guard 문 예시

func printName(name: String) {
    guard name != nil else {
        return
    }
    print(name)
}

let name = "하미"
printName(name: name)	// 하미

name 이 nil 이 아니라는 조건을 만족하지 못하면 else 가 실행되면서 함수는 종료된다.

name에 nil 이 아닌 "하미" 값을 넘겼기 때문에 함수가 종료되지 않고 print(name)을 수행한다.

 

 

출처: [패스트캠퍼스] 30개 프로젝트로 배우는 iOS 앱 개발 with Swift 초격차 패키지 Online.

 

 

728x90
반응형