Swift 제어문

  1. 반복문 : 특정 작업을 반복해서 수행할 때 사용한다.
    1. 종류 : for-in 문, while 문, repeat-while 문
      1. for-in 문 : 범위를 이용한 반복 및 배열, 딕셔너리, 문자열 순회
        1. 사용 방법
          for-in 문 사용법
          1. 범위 연산자 사용
          for i in 0..<10 {
              print("for-in 반복문 \(i)")
          }

          2. Array, Set과 사용
          for item in [1, 2, 3, 4, 5] {
              print(item)
          }

          3. 딕셔너리로 사용
          for (kor, eng) in dic1 {
              print("Key : \(kor) Value : \(eng)")
          }

          4. 문자열의 뷰 사용
          for ch in str.characters {
              print(ch)
          }
        2. 유의 사항 : Swift 에서는 C 언어 스타일의 for문(for(int i=0;i<10;i++)) 형태는 지원하지 않는다.
      2. while 문 : 조건을 먼저 확인하고 반복
        1. 사용방법
          while 문 사용법
          while i < 10 {
              print("while 반복문 \(i)")
              i += 1 // Swift 에서는 증감연산자 사용할 수 없음
          }
      3. repeat-while 문 : 반복문을 실행 후에 조건을 확인하여 반복(C 언어의 do-while문과 동일)
        1. 사용방법
          repeat-while 문 사용법
          var i = 0
          repeat {
             i += 1
             print("repeat-while 반복문 \(i)")
          } while i < 10
  2. 조건문 : 특정 조건일 때 특정 작업을 수행하고자할 때 사용한다.
    1. 종류
      1. if 문 : 조건부의 조건이 맞으면 중괄호 내의 동작을 실행한다.
        1. 사용방법
          if 문 사용법
          1. if 문
          if i > 10 {
              // 해당 조건이 맞으면 수행 시킬 동작을 넣어줌
              print("\(i)는 10보다 크다!")
          }

          2. if-else 문
          var bloodType = "C"
          if bloodType == "A" {
              print("혈액형은 A형")
          } else if bloodType == "B" {
              print("혈액형은 B형")
          } else if bloodType == "O" || bloodType = "AB" {
              print("혈액형은 O형이나 AB형")
          } else {
              print("유효하지 않은 값입니다.")
          }
        2. 유의사항 : 실행할 동작의 중괄호는 1줄이여도 생략하지 않아야한다.
      2. guard 문 : 반복문이나 함수를 실행하기 전에 진행 가능한 상황의 조건이면 동작을 실행하고 그렇지 않으면 진행을 하지 않도록 할 때 사용한다.
        1. 사용방법
          guard 문 사용법
          1. 반복문에서 사용
          for(i in 0..<10) {
              guard i != 8 else {
                   // i 값이 8인 경우 동작을 멈춤
                   break
              }
              print("for-in 반복문 \(i)")
          }

          2. 함수 내에서 사용
          func example() {
              guard let val = someFunc() else {
                    return
              }
              print("val은 유효한 값 : \(val)")
          }
        2. 유의사항 : 조건부를 작성할 때 if 문과 혼동하지 않도록 주의한다.
          배열의 원소가 양수이면 순회, 음수이면 exit
          1. if 문 사용
          for(item in array) {
              if (item < 0) { // if 문은 실행을 멈출 조건을 설정
                  break
              }
              print("for-in 반복문 \(i)")
          }

          2. guard 문 사용
          for(item in array) {
              guard (item > 0) else { // guard 문은 실행할 조건을 설정
                  break
              }
              print("for-in 반복문 \(i)")
          }
      3. switch 문 : 여러 조건을 확인할 때 사용하며, 각 조건은 case 로 정의하여 실행한다.
        1. 사용방법
          switch 문 사용법
          var data = 10
          switch data {
          case 1 :
               print(1)
          case 2 :
               print(2)
          case 3 :
               print(3)
               fallthrough // 아래 경우도 같이 확인
          case 4 :
               print(4)
          default : // 없다면 추가하라는 에러 메시지 발생
               print("5 이상인 숫자")
          }
        2. 유의사항
          1. Swift 에서는 case 문 이후에 break 문을 사용하지 않아도 되며, 다음 조건도 확인하여 실행하고 싶다면 "fallthrough" 키워드를 추가한다.
          2. case 문은 모든 상황에 대한 case를 작성하며 불가능한 경우 default 를 반드시 넣어준다.