오늘은 Swift의 반복문에 대해서 다뤄보겠다! :)

반복문은 말그대로 반복적으로 해당되는 코드블럭을 실행하게 만드는 구문이다.

 

Swift 의 반복문 키워드는 대표적으로 for-in, while, repeat-while 이 있다.

하나씩 살펴보도록 하자

 

1.  for - in

 

for 상수 초기식 ; 조건식 ; 변화식 { 

코드 블럭

}

에 익숙한 사람이라면 자연스럽게

이런식의 코드를 쓰겠지만, "이런 C 스타일의 구문은 siwft3에서 지워졌다." 라는 에러메세지로 알 수 있듯이,

더 이상 저런 형식의 for문은 사용할 수가 없다.

 

그 대신에 Swift 에서는 for-in 구문을 써주면 된다!

 

for - in 은 in 때문에 생소할 수 있을 수 있고, 아마 파이썬을 한 사람이면 익숙할 것이다.

어려울 것 없이 순회대상 또는 범위가 있는 코드에 써주면 된다.

구조는 다음과 같다.

 

Swift 에서는

for <값> in <순회범위> {

코드블럭

}

 

사용예제를 살펴보자

numbers 라는 배열이 있고 i 는 그 배열을 순회하며 출력한다. 

따라서 결과값은 1,2,3,4,5 차례대로 출력된다.

 

특정한 조건을 달고 싶다면 조건문 if를 넣어주어도 된다.

i는 위 코드 예제처럼 배열을 순회한다. 다만 달라진 점은 if문의 등장으로 i가 2로 나눠 나머지가 0일 때, 즉 짝수일때만 출력하라는 조건식을 써주었다. 

결과값은 당연히 배열 내의 짝수인 2,4 가 출력된다.

 

마지막 for-in 예제

이번에 in <범위대상> 을 직접 써줬다. ...의 사용으로 범위는 i >= 1 && i<=3 (1 이상 3이하) 인 [1,2,3]이 된다.

result 의 초기값은 1로 설정하고 i의 값을 루프를 돌때마다 result에 곱해준다.

결과값은 1,2,6 이 될 것이다.

 

 

 

 

2. while

while 은 

 

while 조건식 {

코드블럭

 

의 구조로, 조건식에 맞다면 해당 코드블럭을 계속 실행한다. 

예제를 들어보자

count = 0 으로 초기화 되어있고, 그 값이 50보다 작다면 계속 1씩 증가할 것이다.

count 는 0 부터 49까지 점차 값이 증가할 것이고, 49일때 까지만 조건식을 충당해 코드 블럭내로 들어가고

그 안에서 1이 더해진 다음 50이 되어 while 루프 밖을 빠져나온다.

라서 루프 밖에서 50이라는 결과값이 출력되는 것!

 

 

 

다음으로 이 코드 구문을 repeat-while 을 이용하여 써보겠다.

 

3. repeat-while

repeat - while 문은 do - while로 이해하면 된다.

 

repeat {

실행 구문

} while(조건식)

 

의 구조를 가지고 있다.

컴파일러는 repeat 내를 먼저 실행하고 while의 조건식이 맞는지 비교한다. 

결과값은 50이 출력될 것이다. (count2 가 49일때 1이 더해져 50이 되기 때문에 조건식에 맞지 않아 해당 루프를 빠져나오기 때문!)

 

 

마지막 repeat-while 예제를 살펴보겠다.

1씩 증가하는 i를 total 에 더해주는 구문이다. 다만 여기서 조건은 i 가 10 보다 작을 때 까지기 때문에 

i 는 초기값인 0 부터 9까지 증가하며 그 값을 total 에 더해준다.

결과값은 아래와 같다.

 

오늘은 이렇게 Swift 의 반복문에 대해 다뤄보았다.  다음 파트에서는 옵셔널과 옵셔널 바인딩을 해야겠다!

+ Recent posts