[Swift 기초] 제어구문-반복문

2022. 3. 7. 16:08Swift 기초 정리

728x90

//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎

 

1. for-in 구문

for item in items {
  //item: iteration으로 들어올 item
  //items: iteration을 돌 collection type
	/*실행 구문*/
}
  • 기존 언어의 for-each 구문과 유사
  • item을 사용하지 않는다면 _를 사용해서 무시할 수 있음
  • 범위 반복문: 범위 연산자의 값이 전달된다
    • 범위연산자(range operator): 값의 범위를 쉽게 나타낼 수 있는 연산자 
    • 고정 범위) n...m: n 이상 m 이하 ex) 1...5: 5번
    • 개방 범위) n..<m: n 이상 m 미만 ex) 1..<5: 4번 - 끝 값을 갖지 않는다.
      for index in 1...5{
          print(index)
      }
      // 1 2 3 4 5
      
      for index in 1..<5{
          print(index)
      }
      // 1 2 3 4
      
  • for-in 루프에서는 변수가 아닌 이름있는 상수를 생성하여 반복하용하기 때문에 값을 사용은 하되 변경은 할 수 없다.
  • 배열과 딕셔너리의 순환(String, 문자열, Dictionary)
  • //Stirng형을 Character형으로 열거
    for ch in "Hello"{
        print(ch)
    }
    // H E L L O
    
    //enumerate()는 index와 문자열의 쌍으로 열거함, 
    //Dictionary도 item 자리에 튜플
    for (idx, ch) in "Hello".enumerated(){
        print("index: \(idx), character: \(ch)")
    }
    //index: 0, character: H
    //index: 1, character: e
    //index: 2, character: l
    //index: 3, character: l
    //index: 4, character: o

 

2. while 구문

while 조건 {
	/*실행 내용*/
}
  • 루프(loop): 설정된 조건이 true일 때 반복적으로 실행되는 코드 블록
    • 루프를 끝낼 수 있도록 조건을 부여하지 않으면 영원히 반복 실행될 수 있다.
  • while 루프: 루프가 초기화될 때 루프에 진입하는 조건이 주어지며 그 조건은 루프의 코드 블록이 실행될 때마다 매번 다시 검사된다.
    • while 키워드는 루프를 생성하며, 그 다음에 if문처럼 조건식이 따라온다. 
    • while 루프에서는 최초로 코드가 실행되기 전에 조건이 먼저 검사된다.
    • 조건을 검사하여 조건이 참이면 계속 반복 실행
  • 무한 루프(infinite loop): 조건식이 절대로 false가 되지 않아 루프의 실행이 끝나지 않는 에러
  • while문의 조건에서 무한 루프를 어떻게 빠져나올 건지에 대해서 let으로 조건을 줄 수 있다.
  • while let input = readLine() {
        var line  = input.split(separator: " ")
        print(Int(line[0])! + Int(line[1])!)
    }

 

3. repeat-while 구문

repeat {
	/*실행 구문*/
} while 조건
  • 기존의 do-while구분과 형태 및 동작이 유사
    • repeat 내부를 먼저 실행하고 조건을 확인한다.
    var integers = [1,2,3,4,5]
    repeat {
        integers.removeLast()
        print(integers)
    } while integers.count > 6
    
    //[1, 2, 3, 4]
    

 

 

참고하였습니다. 감사합니다.

https://yagom.net/courses/swift-basic/lessons/제어구문/topic/반복문/

 

스위프트 기초 - 야곰닷넷

스위프트는 문법표현의 다양성이 매우 높은 언어입니다. 그래서 스위프트 문법의 모든 형태를 알기는 꽤 오랜 시간이 걸립니다. 그렇지만 최소한의 핵심 문법을 통해 무리없이 스위프트 문법을

yagom.net

https://www.inflearn.com/course/창원대학교-박동규-교수의-swift-기초-강좌/lecture/1890?tab=note&mm=null

 

학습 페이지

 

www.inflearn.com

https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/content/Chapter-2/control-flow.html

 

조건문과 반복문 · 40시간만에 Swift로 iOS 앱 만들기

 

devxoul.gitbooks.io

23.06.27 수정) Swift 쉽게, 더 쉽게

https://www.yes24.com/Product/Goods/17652267

728x90

'Swift 기초 정리' 카테고리의 다른 글

[Swift 기초] 제너릭  (0) 2022.03.11
[Swift 기초] 함수  (0) 2022.03.11
[Swift 기초] 제어구문 - 조건문(흐름제어)  (0) 2022.03.07
[Swift 기초] 컬렉션 타입  (0) 2022.03.06
[Swift 기초] 튜플 Tuple  (0) 2022.03.06