Swift 의 흐름제어 (Control Flow) 에는 조건문과 반복문이 있다.
조건문에는 IF 문과 Switch 문이 있었고
2018/11/10 - [IT 정보 로그캣/Swift] - [Swift 공부] 조건문
이번에 살펴볼 반복문에는 For-In 과 while 구문이 있다.
반복문은 이름 그대로 어떠한 작업을 반복하기 위해서 필요한 것들인데 이름에서부터 왜 필요한지 느껴진다.
코드나 상황을 반복해야할 때 Ctrl + c , Ctrl + v 는 지겹고도 비효율적이기 때문이다.
(이것도 결국 프로그래머 좋으라고 있는..)
For - In
For - In 구문은 우리가 자바에서 사용하던 for - each 구문과 똑같다고 보면된다.
기존에 사용하던 for ( ~ ; ~ ; ~ ) 형태의 구문이 Swift 에서는 사라졌는데 (Swift 3 부터 없어졌다.)
아마도 For - In 구문이 더 간단하기도 하고, For - In 구문만으로도 충분하다고 생각한 것 같다.
For - In 구문은 배열, 수의 범위, 딕셔너리 같은 시퀀스를 다루는데 사용한다.
그림 1 > 배열을 이용한 For - In
그림 2 > 딕셔너리를 이용한 For - In
그림 3 > 수의 범위를 이용한 For - In ( 따로 시퀀스가 필요없는 경우 와일드 카드 패턴을 이용할 수도 있다.)
For - In 구문에서 stride(from : 값1 to : 값2 by: 값3 ) 라는 함수를 사용할 수도 있다. stride 함수는 두 수 사이에 특정한 값의 간격을 주어 시퀀스를 사용할 수 있게 한다. 함수를 풀이해보자면 from 의 값1 부터 to 의 값2 까지 by 의 값3 씩 간격을 준다는 의미이다.
* stride 함수에는 (from : 값1 to : 값2 by : 값3) 와 (from : 값1 through : 값2 by: 값3 ) 의 형태가 있는데 to 를 사용하는 경우에는 마지막값이 포함되지 않고, through 를 사용하는 경우 마지막값까지 포함한다 ( 미만과 이하 의 차이라고 생각하면 된다.)
그림 4 > For - In 구문에 Stride (from : 값1 to : 값2 by : 값3) 함수 사용
그림 5 > For - In 구문에 Stride (from : 값1 through : 값2 by : 값3) 함수 사용
while
while 구문에는 그냥 while 을 사용하는 것과 repeat - while 을 사용하는 2가지 방법이 있다.
두개 의 차이는 자바로 비교하면 while 과 do - while 의 차이라고 볼 수 있다. ( 실제로 do 를 repeat 으로 바꾼 것 뿐이다)
while 은 조건부터 체크하여 조건이 만족할 때에만 { } 안의 코드를 실행 시키지만 repeat - while 은 일단 { } 안의 코드를 한번 실행시키고 그다음 (2회 차) 부터 조건을 체크하여 { } 안의 코드를 실행 시킬지 결정한다.
그림 6 > while 구문
그림 7 > repeat - while 구문
'IT 정보 로그캣 > Swift' 카테고리의 다른 글
[Swift 공부] 클로져 (Cloures) 란? (0) | 2019.01.13 |
---|---|
[Swift 공부] 함수 (0) | 2018.12.15 |
[Swift 공부] 조건문 (0) | 2018.11.10 |
[Swift 공부] 기본 연산자 (0) | 2018.11.04 |
[Swift 공부] 컬렉션 타입이란 ? (0) | 2018.11.03 |