Swift 의 조건문과 반복문은 여타 다른 프로그래밍 언어와 크게 다르지 않습니다.
조건문으로 if, switch 를 사용합니다.
다음은 if 문의 사용 예 입니다.
let score = 88
if score >= 90 {
print("최고에요")
} else if score >= 80 {
print("훌륭해요")
} else if score >= 70 {
print("나쁘지 않아요")
} else if score >= 60 {
print("좀 나빠요")
} else {
print("최악...")
}
Swift 에서는 타입 검사를 엄격하게 하므로 다른 언어에서는 되는 것들이 안되는게 있습니다.
아래와 같이 코드를 작성하면 컴파일 에러가 발생합니다.
if 조건문에는 항상 Boolean 값이 들어가야 합니다.
var number = 0
if !number {
print(number)
}
Kotlin 에서도 이게 되나 안되나 해봤더니 에러가 발생하네요. 여태껏 Kotlin을 써왔지만, 이런 기본적인 부분도 몰랐네요...
Kotlin 도 역시 if 조건문에는 Boolean 값만 들어갈 수 있는듯 합니다.
위와 같이 숫자가 들어가게 되면, 아래와 같은 오류가 발생합니다.
코틀린은 Boolean 값이 오는 것을 예상했으나 Int 타입이 왔다네요 그래서 Type mismatch 에러 라고 알려주고 있죠.
다음은 위 if문 예를 switch 로 바꾼 예 입니다.
switch score {
case 90...100:
print("최고에요")
case 80..<90:
print("훌륭해요")
case 70..<80:
print("나쁘지 않아요")
case 60..<70:
print("좀 나빠요")
default:
print("최악...")
}
90...100 처럼 Range 를 설정해 90부터 100까지 score가 포함되는지 확인할 수 있고,
80..<90 처럼 80부터 89까지 설정할 수 있습니다.
반복문은 for, while 이 있습니다.
단순하게 범위 range 를 정의해서 반복하려면 다음과 같이 반복문을 정의하면 됩니다.
for i in 0..<10 {
print(i)
}
var count = 0
while count < 10 {
print("perform loop...")
count += 1
}
배열이나 딕셔너리를 순환하려면 다음과 같이 작성합니다.
var numbers = [1,2,3,4,5,6,7,8,9]
var colors = [1: "red", 2:"blue", 3:"yellow", 4:"green"]
for number in numbers {
print(number)
}
for (key, value) in colors {
print("\(key)번째 색상 : \(value)")
}