반응형
1. for-in
for [임시 상수] in [Sequence Item] {
[실행 코드]
}
(1) 기본 사용 코드
for i in 0...2 {
print(i)
}
// 0
// 1
// 2
(2) if문 사용
for i in 0...5 {
if i.isMultiple(of: 2) {
print(i)
}
print("\(i) == 홀수")
}
"""
0
0 == 홀수
1 == 홀수
2
2 == 홀수
3 == 홀수
4
4 == 홀수
5 == 홀수
"""
-----------------------------------------------------------------
for i in 0...5 {
if i.isMultiple(of: 2) {
print(i)
continue // continue 키워드를 사용하면 바로 다음 시퀀스로 건너뛴다.
}
print("\(i) == 홀수")
}
"""
0
1 == 홀수
2
3 == 홀수
4
5 == 홀수
"""
(3) 문자열 사용
let ironman: String = "I'm Ironman"
for i in ironman {
print(i)
}
"""
I
'
m
I
r
o
n
m
a
n
"""
(4) 시퀀스에 해당하는 값이 필요없는 경우
// 시퀀스에 해당하는 값이 필요없는 경우
var result: Int = 100
for _ in 1...3 {
result += 10
}
print("100에 10을 3번 더하면 \(result) 입니다.")
// 100에 10을 3번 더하면 130 입니다.
(5) Dictionary 타입에 사용
let Heroes: [String: String] = ["Ironman": "아이언맨", "Captain": "캡틴", "Thor": "토르"]
for tuple in Heroes {
print(tuple)
}
"""
(key: "Thor", value: "토르")
(key: "Ironman", value: "아이언맨")
(key: "Captain", value: "캡틴")
"""
for (key, value) in Heroes {
print("\(key) 의 한글 이름은 \(value) 입니다.")
}
"""
Thor 의 한글 이름은 토르 입니다.
Ironman 의 한글 이름은 아이언맨 입니다.
Captain 의 한글 이름은 캡틴 입니다.
"""
2. while
while 반복 구문도 다른 언어들의 while 문과 다르지 않습니다. 특정 조건이 성립하는 한 블록 내부의 코드를 반복해서 실행합니다.
var heroes: [String] = ["ironman", "hulk", "captain", "thor"]
while heroes.isEmpty == false {
print("Good bye \(heroes.removeFirst())")
}
"""
Good bye ironman
Good bye hulk
Good bye captain
Good bye thor
"""
*repeat-while 구문
repeat-while 구문은 다른 언어의 do-while 구문과 동일합니다. 최초 실행시 repeat 구문을 실행하고 while 구문의 조건이 맞으면 반복 실행하는 방식입니다.
var heroes: [String] = ["ironman", "hulk", "captain", "thor"]
repeat {
print("Good by \(heroes.removeFirst())")
} while heroes.isEmpty == false
"""
Good bye ironman
Good bye hulk
Good bye captain
Good bye thor
"""
구문 이름
반복문을 작성하다 보면 종종 반복문을 중첩적으로 사용하게 됩니다. 그럴 경우 continue 와 break 키워드를 사용할 때 어떤 반복문이 continue 되고 break 되는지 애매해 실수가 발생할 수 있습니다. 그런 경우를 대비해 반복문에 이름을 붙여줄 수 있습니다.
var heroes: [String] = ["ironman", "hulk", "captain", "thor"]
heroesLoop: for hero in heroes {
if hero == "captain" {
break heroesLoop
}
print("\(hero)")
}
[출처: 야곰 SWIFT 스위프트 프로그래밍 (swift 5)]
반응형
'Mobile > Swift' 카테고리의 다른 글
[Swift - 문법] 구조체와 클래스 (0) | 2022.11.11 |
---|---|
[Swift - 문법] 함수 (0) | 2022.11.10 |
[Swift - 문법] 조건문 (if , switch) (0) | 2022.11.09 |
[Swift - 문법] 삼항 조건 연산자와 범위 연산자 (0) | 2022.11.09 |
[Swift - 문법] 열거형 타입 (0) | 2022.11.04 |