Swift 입문 | 제어 구문 | for 문에 의한 반복


이어서 반복문이다. 반복에는 몇가지 문법이 준비되어 있다. 가장 많이 사용되는 것은 “for” 문이다. 이것은 두 가지 형태로 되어 있다. 각각 정리하자면 아래와 같다.

for in의 기본형

for 변수 이름 in 여러 요소와 값 {
    ...... 반복 처리 ......
}

이것은 배열이나 range처럼 여러 값을 모은 것을 이용하여 반복한다. for의 변수 명을 준비하고 in 후 배열이나 range 값을 작성한다. 이후에 {} 내에 반복 처리를 작성한다.

for는 in 이후에 배열 등 순서대로 값을 꺼내어 for 변수에 할당하고 처리를 수행하는 작업을 모든 요소에 대해 반복한다. 예를 들어, 1에서 10까지 값을 변수로 설정하고 실행한다면 아래와 같이 작성된다.

for index in 1...10 {...}

또한, 순서대로 추출 값은 따로 사용하지 않는 경우에는 변수 이름을 언더스코어(_)로 할 수도 있다. 아래와 같이 작성된다.

for _ in 1...10

이렇게 하면 10회 반복 처리를 만들 수 있다.

for 기본형

for 초기화 처리; 조건; 후 처리 {
    ...... 반복 처리 ......
}

이것은 더 세세하게 반복하고 싶은 경우에 사용한다. for 후에는 초기화 처리, 조건, 후 처리의 3 가지 요소가 있다.

요소 설명
초기화 처리 반복을 시작하기 전에 수행할 처리을 작성한다.
조건 반복할 때마다 이 조건을 확인한다. true이면 반복하고, false이면 구문을 빠져 나간다.
후 처리 반복 처리를 실행 후, 여기에 준비한 처리를 수행하고 다음 반복으로 진행한다.

이런 for 문이 언어의 경험이 있으면 더 친숙한 것이다. 대부분의 경우 초기화로 변수를 초기화하고, 후 처리에서 그 값을 증감시켜 반복을 수행시키도록 한다. 예를 들면, 아래와 같은 방식이다.

for var i = 0; i <10; i ++ {
    "index :"+ String (i)
}

여기서 변수 i를 초기화하고, 그 값을 0에서 10까지 카운트하면서 반복을 실행한다. 반복은 String(i)라고하는 것은 이전에 전했었다. 텍스트로 형변환하는 처리이다.

이것으로 일단 반복 처리가 실행된다. 그저 이것이라면 for in에 range를 사용하여 쓴 편이 알기 쉬울 것이다. 일부러 이 for를 사용하는 이점은 별로 느껴지지 않을지도 모르겠다.

여기 for는 후 처리 및 조건을 자유롭게 작성할 수 있는 것이 장점이다. 예를 들어, “변수를 2씩 늘려간다"라는 것도 쉽게 할 수 있다. 단순히 1씩 값을 늘려 간다면 for in이 좋지만, 좀 더 정교한 것을 처리하고 싶은 경우는 여기에 for가 편리하다.