Published 2020. 9. 16. 18:26
728x90
반응형

프로그래밍을 하면서 가장 많이 썼던 것 중에 조건문과 반복문이 있다.
그 중 조건문에 대해서 기본적인 사용법에 대해서 간단하게 공부해봤다.

1. if-else 조건문

조건문 하면 프로그래밍을 공부했다면 누구나 알 수 있는 if-else 조건문이다.
기본 문법은 다음과 같다.

if 조건 {
    실행 코드
} else if 조건 {
    실행 코드
} else {
    실행 코드
}

if, else if, else 모두 사용하지 않아도 된다.
if 만 사용해도 되고 if 와 else if, else 를 조합해서 사용할 수 있다.
조건에는 단순 값을 넣을 수 없어 비교할 수 없기 때문에 항상 Bool 타입의 조건이 와야 한다.

let someInteger = 100

if someInteger < 100 {
    print("100미만")
} else if someInteger > 100 {
    print("100초과")
} else {
    print("100")
}

==================== 출력 결과 ====================
100

조건에 연산자를 사용할 수 있고 Bool 타입의 변수는 그냥 넣어주면 된다.

let someBool = true

if someBool {
    print("참")
} else {
    print("거짓")
}

==================== 출력 결과 ====================
참

if someInteger { } 를 사용했다면 컴파일 에러가 발생했을 것이다.

 

2. switch 조건문

다음은 switch 조건문이다.
if-else 조건문과 다르게 하나의 값을 통해 패턴이 일치하면 해당 구문이 실행된다.
기본 문법은 다음과 같다.

switch 비교값 {
case 패턴:
    실행 구문
default:
    실행 구문
}

다른 언어와 달리 스위프트에서의 switch 조건문은 강력한 힘을 발휘한다고 한다.
대부분의 스위프트 기본 타입을 지원하며, 다양한 패턴과 응용이 가능하다고 한다.
여기서 주의해야 할 점은 case 내부에 실행 구문이 반드시 존재해야하고 default 구문도 반드시 존재해야 한다.
명시적으로 break 하지 않아도 자동으로 case 마다 break 가 작동한다.

let someInteger = 100

switch someInteger {
case 0:
    print("zero")
case 1..<100:
    print("1~99")
case 101...Int.max:
    print("over 100")
default:
    print("unknown")
}

==================== 출력 결과 ====================
unknown

fallthrough 키워드를 사용해서 break 를 무시할 수 있다고 한다.
쉼표(,) 사용해서 하나의 case 에 여러 패턴을 명시할 수 있다.

switch "jaynam" {
case "jake":
    print("jake")
    fallthrough
    // break 대신 fallthrough 를 사용할 수 있다.
case "mina":
    print("mina")
case "jaynam":
    print("jaynam!!")
default:
    print("unknown")
}

==================== 출력 결과 ====================
jaynam!!

쉼표(,) 사용해서 하나의 case 에 여러 패턴을 명시할 수 있다.

switch "jaynam" {
case "jaynam", "jay":
    print("jaynam!!")
case "berry":
    print("very!!")
default:
    print("who are you?")
}

==================== 출력 결과 ====================
jaynam!!

jaynam 또는 jay 의 패턴이 비교값과 일치한다면 해당 구문을 출력한다.

이 뿐만 아니라 다양한 패턴으로 조건문을 사용할 수 있다고 한다.
그 부분에 대해서는 앞으로 하나씩 알아나가야겠다.

 

 

- 참고 사이트 - 

www.edwith.org/boostcamp_ios/lecture/11235

 

[LECTURE] 09. 조건문 (💎생각해보기) : edwith

생각해보기   ▶if-else 구문과 switch 구문의 적절한 활용 예에 대해 생각해 봅시다. ▶if-else 구문과 switch 구문의 사용에 있어 각각의 장단점은 무엇이 있을... - 부스트코스

www.edwith.org

 

728x90
반응형
복사했습니다!