ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 흐름제어
    Swift 2020. 11. 1. 14:03

    안녕하세요. 그린입니다!

    이번 포스팅에서는 흐름제어에 대해 알아보겠습니다.

    코딩을 하다보면 특정 명령어를 반복해서 실행해야 하는 일도 종종 발생합니다.

    이럴때 사용하는것이 조건문과 반복문입니다. 

     

    스위프트에서는 흐름제어 구문에 소괄호() 를 대부분 생략 할 수 있는점의 타 언어와 차이점이 있습니다.

    그렇지만 중괄호{}는 생략할 수 없습니다.

     

    타 언어와의 흐름제어 사용법에서 조금 차이가 나는 부분을 잘 찾아보면서 지금부터 한번 알아보도록 하죠^^

    1. 조건문

    조건문은 if / switch / guard 구문이 있습니다. 이번 포스팅에서는 if와 switch 구문을 학습하고

    guard 구문은 다음 포스팅에서 알아보겠습니다.

    1-1. if 구문

    대표적인 조건문으로 if,else 등의 키워드를 사용하여 구현

    조건값이 꼭 Bool 타입 (True, False)여야 합니다.

    else if는 많아도 상관 없으며 else 블록은 없어도 상관 없습니다.

    조건수식을 소괄호로 감싸주는 것은 선택사항입니다.

     

    if 구문의 활용

    1-2. switch 구문

    if 구문과 같은 역할을 합니다. 마찬가지로 소괄호()를 생략할 수 있습니다.

    그러나 break 키워드 사용은 선택 사항으로 타 언어와 차이가 있습니다.

    구문의 조건에는 다양한 값이 들어갈 수 있습니다.

    그러나 case에 들어갈 비교 값은 입력 갑과 데이터 타입이 같아야 합니다.

    switch 구문의 활용

    -. 조건값 범위사용 가능

    -. 한정된 범위가 명확하지 않다면 default 사용은 필수

    -. fallthrough 키워드로 다음 case도 실행

    -. break 키워드로 구문 탈출

    -. 입력 값 : 문자,문자열,열거형,튜플,범위,패턴이 적용된 타입 등 다양한 타입의 값 사용 가능

    -. case X : 다음에는 꼭 실행 가능한 코드 위치 필요

     

    와일드카드 식별자(_)와 값 바인딩

    와일드카드 식별자(_)의 사용

    -. 와일드카드 식별자를 사용하면 무시된 값을 직접 가져와야하는 불편함 존재

    값 바인딩의 사용

    -. let을 붙인 값 바인딩 사용

     

    where 키워드를 사용한 case의 조건 확장 또한 가능합니다.

    -> case "이름" where 박씨인가 == true:

     

    unknown속성의 사용

    차후에 추가할 case를 처리하지 않으면 경고를 내어줄 수 있는 키워드

    -> @unknown case _:

    2. 반복문

    조건에 따라 실행되는 명령어를 조건문을 통해 분기했다면, 같거나 비슷한 명령을 반복 실행할때는 반복문을 사용합니다.

    for-in 구문과 repeat-while 구문의 반복문의 사용을 살펴보겠습니다.

    2-1. for-in 구문

    반복적인 데이터나 시퀀스를 다룰때 많이 사용

    for 임시상수 in 시퀀스 아이템 {

         실행코드

    }

    for-in 구문의 사용

    -. continue 키워드를 사용하면 바로 다음 시퀀스로 이동

    -. 시퀀스에 해당하는 값이 필요 없다면 와일드카드 식별자(_) 사용

    -. 추후 for-in 구문보다 map,filter,flatMap 등을 더 많이 사용하게 되는데 이후 포스팅에서 다뤄보겠습니다.

    2-2. while 구문

    타 언어의 while 구문과 동일하게 사용됩니다.

    조건(Bool 타입)이 성립하면 블록 내부 코드를 반복 실행합니다.

    for-in 구문과 동일하게 continue, break 등의 제어 키워드 사용이 가능합니다.

    while 구문의 사용

    2-3. repeat-while 구문

    타 언어의 do-while 구문과 동일하게 사용됩니다.

    repeat 블록의 코드를 최초 1회 실행 후, 조건 검사하여 코드 반복 실행합니다.

    repeat-while 구문의 사용

    3. 구문 이름표

    반복문을 작성하다 보면 중첩으로 작성 할 경우가 있습니다. 이때 반복문을 제어하는 키워드(break, continue 등)가 어떤 범위에 적용되는지 

    애매하여 실수를 야기시킬 수 있습니다. 그럴때 반복문 앞에 이름과 함께 콜론(:)을 붙여 구문의 이름을 지정해주는 구문 이름표를 사용 !

    구문 이름표의 사용

     

    오늘은 이렇게 조건문과 반복문을 통한 코딩 흐름제어에 대해 알아봤습니다.

    가장 코딩을 하며 기초가 되며 많이 활용되는 부분으로 꼭 숙지를 해야하는 부분입니다.

    다음 포스팅에서는 이제 코딩을 더 한걸음 나아가기 위한 함수에 대해 알아보겠습니다.

    함수를 정의하며 선언하고 또한 함수의 특성에 대해 알아보도록 하겠습니다!

    만약 제 포스팅에서 수정되어야 할 부분들이 있다면 꼭 댓글 남겨주시면 감사하겠습니다.

    감사합니다 :D

    'Swift' 카테고리의 다른 글

    특수 기호와 문자 읽는법  (0) 2020.11.02
    함수  (0) 2020.11.02
    연산자  (0) 2020.11.01
    데이터 타입 (고급)  (0) 2020.10.30
    데이터 타입 (기본)  (0) 2020.10.30
Designed by Tistory.