[Swift] 문법2 - 조건문, 반복문

LeeEunJae·2023년 3월 16일
0

iOS

목록 보기
3/14

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)")
}
profile
매일 조금씩이라도 성장하자

0개의 댓글