티스토리 뷰

DEV/Swift

Swift3 조건문

곽재영 2017. 9. 4. 16:37

# 조건문

조건문은 말 그대로 특정 조건이 참 또는 거짓에 따라 분기되는 것을 말한다.
그래서 조건문은 다른말로 분기문 이라고도 불린다.

조건문에는 if, guard, switch 세가지 종류가 있다.


# if 구문

조건문이 true 일 경우 코드 블록 내부 구문을 실행한다.

    /*
        if 조건문 {
            if 조건문이 참 일 경우 실행
        } else if 조건문 {
            else if 조건문이 참 일 경우 실행
        } else {
            조건문들이 거짓 일 경우 실행
        }
    */
    var name: String = "JAEYOUNG"
    if name == "KWAG" {
        print("당신에 이름은 JAEYOUNG 이군요.")
    } else if name == "JAEYOUNG" {
        print("당신에 이름은 JAEYOUNG 이군요.")
    } else {
        print("당신 이름은 무엇 인가요??")
    }

# guard 구문

if 구문과 비슷한 구문이며 else 구문을 필수로 정의해야 한다.
guard 구문은 조건 참일 때 실행되는 블록이 없는게 특징이다.
특정 함수에서 값을 확인 후 처리해야 하는 경우 간단히 사용할 수 있는 구문이다.

    /*
     * Guard 구문
     */
    func showMove(age: Int){
        guard !(age < 19) else {
            print("19세 이상만 시청할 수 있습니다.")
            return
        }
        print("시청 가능 합니다.")
    }

    var myAge: Int = 18;
    showMove(age: myAge)
    /*
     * Guard 구문를 if 구문으로 대체 할 경우
     */
    func showMove(age: Int){
        if age < 19 {
            print("19세 이상만 시청할 수 있습니다.")
            return
        }

        print("시청 가능 합니다.")
    }

    var myAge: Int = 18;
    showMove(age: myAge)

# switch 구문

if else 구문과 유사하게 처리 되지만, swift 구믄은 다양한 가능성이 있는 여러개의 조건 비교에 효율적이다.
swift 구문의 경우 default 구문은 필수로 작성해야 한다.


    var name: String = "jaeyoung"

    /*
        switch 비교대상 {
            case 비교값 1:
                비교대상과 비교값 1이 같을 경우 실행

            case 비교값 2:
                비교대상과 비교값 2이 같을 경우 실행

            default:
                비교대상과 같은 비교값이 없을 경우 실행
        }
    */
    switch name {
        case "jaeyoung":
            print("이름은 소문자 \(name) 입니다.")

        case "JAEYOUNG":
            print("이름은 대문자 \(name) 입니다.")

        default:
            print("일치하는 이름이 없습니다.")
    }

'DEV > Swift' 카테고리의 다른 글

Swift3 While 반복문  (0) 2017.09.04
Swift3 For 반복문  (0) 2017.09.04
Swift 언어를 배워야 할 12가지 이유  (0) 2017.08.30
Swift3 브라우저에서 공부하자  (0) 2017.08.30
Swift3 타입추론(Type Inference)  (0) 2017.08.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함