var a: Int = 123
if a < 50 {
print("ji")
} else if a<100{
print("gg")
} else {
print("memem")
}
기존에 다른 언어에서의 if
와는 별 차이는 없다.
좀 다른 점이 있다면 비교값에 소괄호 ()
를 생략할 수 있다.
그리고 비교값은 Bool 타입이 와야한다.
let someInteger = 100
switch someInteger {
case 0:
print("zero")
case 1..<100:
print("1~99")
case 100:
print("100")
case 101...Int.max:
print("over 100")
default:
print("unknown")
} // 100
switch는 다음과 같은 범위 연산자를 사용할 수 있다.
1..<100
: 1 이상 100 미만101...Int.max
: 101 이상 Int.max
이하 (즉 101 이상에 모든 정수)switch는 명확히 모든 값들의 케이스를 제시해주지 않는한 꼭 default
값을 넣어줘야 한다.
switch "yagom" {
case "jake", "mina":
print("jake or mina")
case "yagom":
print("yagom!!")
default:
print("unknown")
} // yagom!!
또한 switch는 정수값 외에도 대부분의 기본 타입을 사용할 수 있다.
그리고 기본적으로 case 각각 끝에는 break
가 있다. 따라서 하나의 케이스에서 걸리면 끝이다.
그런데 만약 다음 case까지 가고 싶으면 아래와 같이 fallthrough
를 사용하면 된다.
case "jake":
print("jake")
fallthrough
case "mina":
print("mina")