
import UIKit
let someInteger = 100
// MARK: - if-else
// if 조건 {
// 실행할 코드
// } else if 조건 {
// 실행할 코드
// } else {
// 실행할 코드
// }
if (someInteger < 100) {
print("100 미만") // someInteger가 100 미만일 때 실행
} else if someInteger > 100 {
print("100 초과") // someInteger가 100 초과일 때 실행
} else {
print("100") // someInteger가 100일 때 실행
} // 100
주의: 스위프트의 조건문에는 항상 Bool 타입이 들어가야 합니다. 따라서 if someInteger { } 와 같은 방식은 컴파일 오류가 발생합니다.
// MARK: - switch
// switch 값 {
// case 패턴:
// 실행할 코드
// default:
// 실행할 코드
// }
switch someInteger {
case 0:
print("zero") // someInteger가 0일 때 실행
case 1..<100:
print("1 ~ 99") // someInteger가 1 이상 99 이하일 때 실행
case 100:
print("100") // someInteger가 100일 때 실행
case 101...Int.max:
print("over 100") // someInteger가 101 이상일 때 실행
default:
print("unknown") // 위의 모든 경우에 해당하지 않을 때 실행
} // 100
// 정수 외의 다양한 기본 타입도 사용할 수 있습니다.
switch "geuni" {
case "hyun":
print("hyun") // 문자열이 "hyun"일 때 실행
case "yeoni":
print("yeoni") // 문자열이 "yeoni"일 때 실행
case "geuni":
print("geuni!!") // 문자열이 "geuni"일 때 실행
default:
print("unknown") // 위의 모든 경우에 해당하지 않을 때 실행
} // geuni!!
// MARK: - 중첩 조건문
let temperature = 30
if temperature > 0 {
print("온도가 0도 이상입니다.")
if temperature > 25 {
print("더운 날씨입니다.")
} else {
print("온화한 날씨입니다.")
}
} else {
print("온도가 0도 미만입니다.")
}
// MARK: - 논리 연산자
let age = 20
let hasPermission = true
if age >= 18 && hasPermission {
print("접근이 허용됩니다.")
} else {
print("접근이 거부됩니다.")
}
// MARK: - for-in
// for 아이템 in 아이템들 {
// 실행할 코드
// }
var integers = [1, 2, 3]
let people = ["geuni": 10, "yeoni": 15, "hyun": 12]
// 배열의 각 요소를 순회
for integer in integers {
print(integer) // 1, 2, 3 출력
}
// 딕셔너리의 각 키-값 쌍을 순회
for (name, age) in people {
print("\(name): \(age)") // "geuni: 10", "yeoni: 15", "hyun: 12" 출력
}
// MARK: - while
// while 조건 {
// 실행할 코드
// }
while integers.count > 1 {
integers.removeLast() // 배열의 마지막 요소를 제거
}
// MARK: - repeat-while
// repeat {
// 실행할 코드
// } while 조건
repeat {
integers.removeLast() // 배열의 마지막 요소를 제거
} while integers.count > 0 // 배열이 비어있지 않은 동안 반복
// MARK: - for 문
// for 인덱스 in 0..<n {
// 실행할 코드
// }
for index in 0..<5 {
print("Index: \(index)") // 0, 1, 2, 3, 4 출력
}
위의 예제에서 0..<5는 0부터 4까지의 범위를 나타냅니다. 이와 같은 방식으로 for 문을 사용하여 반복할 수 있습니다.
// MARK: - forEach
// 배열의 각 요소에 대해 클로저를 실행
integers.forEach { integer in
print(integer) // 1, 2, 3 출력
}
// 딕셔너리의 각 키-값 쌍에 대해 클로저를 실행
people.forEach { (name, age) in
print("\(name): \(age)") // "geuni: 10", "yeoni: 15", "hyun: 12" 출력
}
참고: forEach는 배열이나 딕셔너리의 요소를 순회할 때 함수형 프로그래밍 스타일을 사용할 수 있게 해줍니다.