티스토리 뷰
Swift의 반복문은 다른 언어와 크게 다르지 않게 While문, For문으로 이루어져 있습니다.
하지만 살짝살짝 다른 부분이 있는데 함께 보시죠!
1. While 문
while 옆에 조건이 주어지고 조건이 만족하는 동안 while 문 내부의 코드를 계속해서 반복합니다.
그렇게 반복을 계속하다가 조건이 만족하지 않을 때 반복문을 빠져나오게 됩니다.
C나 Java 같은 언어와 다르게 조건에 괄호를 안 달아도 됩니다.
break이나 continue같은 명령어를 사용할 수 있습니다.
(break - 반복문 탈출, continue - continue 아래 코드는 실행되지 않고 건너뛴 뒤 반복을 계속함)
var i = 1
while i < 10 {
if i == 5 {
break
}
print(i)
i += 1
}
위의 경우, 1부터 4까지 출력되고 반복문을 빠져나오게 됩니다.
2. Repeat~While 문
다른 언어의 Do~While 문이라고 생각하면 됩니다. 일단 Repeat 부분의 코드를 수행한 후
While 문 옆의 조건을 만족하면 반복, 아니면 탈출하는 방식입니다.
var j = 10
repeat {
print(j)
j += 1
} while j < 10
다음의 경우 일단 실행을 먼저 하기 때문에 10이 출력되고 반복문을 빠져나오게 됩니다.
3. For 문
C나 C++ 보단 파이썬 For문과 비슷한 Swift의 For문입니다. 일단 Range에 대해서 먼저 설명하자면
let range1 = 0...10 // 0부터 10까지
let range2 = 0..<10 // 0부터 9까지
다음과 같이 범위를 지정할 수 있습니다. 이렇게 정한 범위를 for문에서 사용하게 됩니다.
var sum = 0
for i in range1 {
print(i)
sum += i
}
print(sum)
여기서 i는 제어 변수이고 range1의 값이 하나씩 대입됩니다. 0부터 10까지 더하게 되어서
0부터 10까지 출력된 후 55가 출력됩니다. range1을 변수가 아니라 직접 선언해줄 수도 있습니다.
만약 제어 변수가 필요 없다면 그 자리에 _(underscore)를 넣고 For문을 사용할 수 있습니다.
3-1. For + Where문
For문 반복 시, 조건에 맞는 부분만 반복할 수 있는 기능입니다.
for i in range1 where i%2 == 0 {
print(i)
}
range1에 있는 수 중 i%2 == 0을 만족하는 수, 즉 짝수만 출력됩니다.
Reference :
'Swift' 카테고리의 다른 글
[iOS] Swift 열거형 (enum) (0) | 2021.02.22 |
---|---|
[iOS] Swift Collection Types (Array, Dictionary, Set) (0) | 2021.02.17 |
[iOS] Swift Fuction 정리 (0) | 2021.02.11 |
[iOS] Swift Optional(Optional Binding) (0) | 2021.02.10 |
[iOS] Swift 조건문(If~ else문, Switch문) (0) | 2021.02.06 |
- Total
- Today
- Yesterday
- cs
- 프로세스
- 멀티프로세스
- PHImageRequestOptions
- rxcocoa
- sharedmemory
- PHAsset
- returnKey
- 슈퍼스칼라
- 부캠
- optional
- 스냅킷
- 개발대외활동
- Swift
- 운영체제
- swiftsoup
- ios
- 디프만
- Xcode
- 쓰레드
- RxSwift
- OS
- 스레드
- setBackgroundColor
- 개발동아리
- isNetworkAccessAllowed
- WKUIDelegate
- URLComponents
- 프로세스간통신
- webcrawl
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |