조건문
조건을 검사할 때에는 if, switch를 사용한다.
var age = 20
var student = ""
if age >= 8 && age < 14 {
student = "학생"
} else if age < 17 {
student = "중학생"
} else if age < 20 {
student = "대학생"
} else {
student = "기타"
}
student // 기타
if문의 조건절에는 값이 정확하게 참, 거짓으로 나오는 Bool타입을 사용해야 한다. Swift는 타입 검사를 엄격하게 하기 때문에 다른 언어에서는 사용 가능한 !number 같은 코드는 사용하지 못한다.
!number 대신 number == 0을 사용하면 컴파일 에러가 나지 않는 것을 확인할 수 있다.
빈 문자열이나 배열 등을 검사할 때도 길이가 명확하게 0인지 아닌지를 검사해야 한다.
if name.isEmpty { ... }
if languages.isEmpty { ... }
반복문
switch
Swift의 switch구문은 Java와는 다르게 패턴 매칭이 가능하다.
위에서 작성했던 if문을 switch문으로 변경해보자.
switch age {
case 8..<14:
student = "초등학생"
case 14..<17:
student = "중학생"
case 17..<20:
student = "고등학생"
default:
student = "기타"
}
8..<14와 같이 범위(Range)안에 age가 포함되었는지의 여부를 검사할 수 있다.
for
반복되는 연산을 할 때는 for문이나 while문을 사용한다. for구문을 사용해서 배열과 딕셔너리를 차례로 순환할 때는 아래와 같이 사용한다.
for language in languages {
print("저는 \(language) 언어를 다룰 수 있습니다.")
}
for (country, capital) in capitals {
print("\(country)의 수도는 \(capital)입니다.")
}
단순한 반복문을 만들고 싶다면 범위를 만들어서 반복할 수도 있다.
for i in 0..<10 {
i
}
만약 i를 사용하지 않고 단순한 반복을 하고 싶다면 i 대신 _를 사용해서 무시할 수도 있다. _ 키워드는 어디서나 변수 이름 대신에 유용하게 사용할 수 있다.
for _ in 0..<10 {
print("Hello!")
}
while
while은 조건문의 값이 true일 때 계속 반복된다.
var i = 0
while i < 100 {
i += 1
}
위와 같이 while문을 작성하면 i가 100이 되기 전까지 계속 반복된다.
i는 0에서 시작해서 1씩 누적되고 100이 되면 while문을 벗어난다.
🐣 출처: 전수열님 GitBook
이 글은 전수열님의 깃북을 참고하여 작성한 글입니다.