04. 조건문 #Swift

한담곰·2022년 7월 30일

쏘의 Swift_Study

목록 보기
4/15
post-thumbnail

조건문이란?

조건문도 참 많이 배워 온 녀썩이다.... 또 짧게 설명을 해 보자면, 조건문은 말 그대로 주어진 조건에 따라서 애플리케이션을 다르게 동작하도록 하는 것이다. 쉽게 이해할 수 있도록 바로 예제로 들어가 보도록 하겠다!

Swift의 조건문

  • if, switch, guard

if 조건문 Code

if 문

if 조건식 {
실행할 구문
}

if-else 문

if 조건식 {
조건식이 만족하면 해당 구문 실행
} else {
만족하지 않으면 해당 구문 실행
}

let age = 12

// 19살보다 적으면 "미성년자입니다." 출력
if age < 19 {
    print("미성년자입니다.")
}

// 성인인지 아닌지
if age < 19 {
    print("미성년자")
} else {
    print("성년자")
}

잠깐!

만약 비교할 조건이 많은 경우, if-else 조건문을 활용하면 코드가 굉장히 복잡해질 것이다... 이런 경우에는 else-if 조건문을 활용하면 된다!

else-if 문

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

let animal = "cat"

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

if 조건문 Code의 실행 화면


switch 조건문 Code

switch 비교 대상 {
case 패턴1 :
// 패턴1 일치할 때 실행되는 구문
case 패던2, 패턴3 :
// 패턴2, 패턴3 일치할 때 실행되는 구문
default :
// 어느 비교 패턴과도 일치하지 않을 때 실행되는 구문
}

let color = "green"

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

let temperature = 30

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

switch 조건문 Code의 실행 화면


guard 조건문이란?!

guard 조건문은 강의에서 다음 시간에 알아보자고 하며,,, ㅠㅠ 선생님은! 다음에 알아보도록 하자고 하셨지만! 아기코쟁이는 궁금하다! guard 조건문은 뭔지! 어떻게 쓰는 건지!


guard 사용법은 다음과 같다.

문법


gurad "조건식" else { 조건식이 만족하지 않았을 때 실행할 구문 }

우선! guard 조건문은 조건식이 틀린 경우에는 모두 버리고, 내가 원하는 조건만 통과시키겠다는 기능으로 사용된다고 한다,,, if 조건문과 차이점을 둬서 바라보자면, if 조건문은 " ~면 ~해라! "의 실행 구문인 반면, guard 조건문은 " ~이 아니면 끝내라! " 라는 의미로 바라볼 수 있다. 따라서! gurad 조건문은 빠른 종료의 핵심이라고 한다!


하지만... 아기코쟁이는 이해가 잘 되지 않는 듯하네요? guard 조건문을 배우고 활용해 보려면 옵셔널, 옵셔널 바인딩 등... 여러 개념을 배워야 하는 것 같으므로 😂 선생님 말씀대로 다음 시간에 더 알아보도록 하겠다....


끝!

참고 사이트 및 강의 : 패스트 캠퍼스
https://didu-story.tistory.com/154

profile
iOS Developer

0개의 댓글