- 반복문 : 특정 작업을 반복해서 수행할 때 사용한다.
- 종류 : for-in 문, while 문, repeat-while 문
- for-in 문 : 범위를 이용한 반복 및 배열, 딕셔너리, 문자열 순회
- 사용 방법for-in 문 사용법
1. 범위 연산자 사용
for i in 0..<10 {
print("for-in 반복문 \(i)")
}
2. Array, Set과 사용
for item in [1, 2, 3, 4, 5] {
print(item)
}
3. 딕셔너리로 사용
for (kor, eng) in dic1 {
print("Key : \(kor) Value : \(eng)")
}
4. 문자열의 뷰 사용
for ch in str.characters {
print(ch)
} - 유의 사항 : Swift 에서는 C 언어 스타일의 for문(for(int i=0;i<10;i++)) 형태는 지원하지 않는다.
- while 문 : 조건을 먼저 확인하고 반복
- 사용방법while 문 사용법
while i < 10 {
print("while 반복문 \(i)")
i += 1 // Swift 에서는 증감연산자 사용할 수 없음
} - repeat-while 문 : 반복문을 실행 후에 조건을 확인하여 반복(C 언어의 do-while문과 동일)
- 사용방법repeat-while 문 사용법
var i = 0
repeat {
i += 1
print("repeat-while 반복문 \(i)")
} while i < 10 - 조건문 : 특정 조건일 때 특정 작업을 수행하고자할 때 사용한다.
- 종류
- if 문 : 조건부의 조건이 맞으면 중괄호 내의 동작을 실행한다.
- 사용방법if 문 사용법
1. if 문
if i > 10 {
// 해당 조건이 맞으면 수행 시킬 동작을 넣어줌
print("\(i)는 10보다 크다!")
}
2. if-else 문
var bloodType = "C"
if bloodType == "A" {
print("혈액형은 A형")
} else if bloodType == "B" {
print("혈액형은 B형")
} else if bloodType == "O" || bloodType = "AB" {
print("혈액형은 O형이나 AB형")
} else {
print("유효하지 않은 값입니다.")
} - 유의사항 : 실행할 동작의 중괄호는 1줄이여도 생략하지 않아야한다.
- guard 문 : 반복문이나 함수를 실행하기 전에 진행 가능한 상황의 조건이면 동작을 실행하고 그렇지 않으면 진행을 하지 않도록 할 때 사용한다.
- 사용방법guard 문 사용법
1. 반복문에서 사용
for(i in 0..<10) {
guard i != 8 else {
// i 값이 8인 경우 동작을 멈춤
break
}
print("for-in 반복문 \(i)")
}
2. 함수 내에서 사용
func example() {
guard let val = someFunc() else {
return
}
print("val은 유효한 값 : \(val)")
} - 유의사항 : 조건부를 작성할 때 if 문과 혼동하지 않도록 주의한다.배열의 원소가 양수이면 순회, 음수이면 exit
1. if 문 사용
for(item in array) {
if (item < 0) { // if 문은 실행을 멈출 조건을 설정
break
}
print("for-in 반복문 \(i)")
}
2. guard 문 사용
for(item in array) {
guard (item > 0) else { // guard 문은 실행할 조건을 설정
break
}
print("for-in 반복문 \(i)")
} - switch 문 : 여러 조건을 확인할 때 사용하며, 각 조건은 case 로 정의하여 실행한다.
- 사용방법switch 문 사용법
var data = 10
switch data {
case 1 :
print(1)
case 2 :
print(2)
case 3 :
print(3)
fallthrough // 아래 경우도 같이 확인
case 4 :
print(4)
default : // 없다면 추가하라는 에러 메시지 발생
print("5 이상인 숫자")
} - 유의사항
- Swift 에서는 case 문 이후에 break 문을 사용하지 않아도 되며, 다음 조건도 확인하여 실행하고 싶다면 "fallthrough" 키워드를 추가한다.
- case 문은 모든 상황에 대한 case를 작성하며 불가능한 경우 default 를 반드시 넣어준다.