if condition {
statements
} else if condition{
statements
} else {
statements
}
condition은 소괄호 '()' 를 사용해도되고 안해도 된다.
중괄호'{}'는 생략하면 안된다.
if someInteger <100 {
print("100 미만")
} else if someInteger >100{
print("100 초과")
} else {
print("100")
}
// if 만 사용할수도 있고.
if - else 만 사용할수도 있고
if - else if 만 사용할수도 있고
if - else if - else 를 다 사용할수도 있다.
if 다음에 필요하다면 else if 를 추가 할수도 있다.
condition은 반드시 Bool 타입이 들어와야 한다.
switch value {
case pattern:
code
default:
code
}
switch someInteger{
case 0:
print("zero")
case 1..<100: // 1부터 100 미만
print("1~99")
case100:
print("100")
case 101...Int.max: 101 이상 Int.max 이하
print("over 100")
default:
print("unknown")
}
정수 외의 대부분의 기본 타입을 사용할수 있다.
(hashable protocol ??을 따르는 것들은 모두 사용가능하다)
switch "yagom"{
case "jack":
print("jack")
case "mina":
print("mina")
case "yagom":
print("yagom!!")
default:
print("unknown")
}
모든 케이스가 명시 되지 않는한 default 를 작성해야 한다.
default 구문이 없으면 에러 발생!
break 를 명시적으로 넣지 않아도 break 가 걸린다.
switch "yagom"{
case "jack":
case "mina":
print("jack, mina")
default:
print("unknown")
}
// jack 이거나 mina 일때 출력 되는데 이젠 사용하지 않는다.
// 위와 같은 효과를 얻을수 있다.
switch "yagom"{
case "jack", "mina":
print("jack, mina")
default:
print("unknown")
}
---
case "jack":
fallthrough // 명시적 : 다음줄의 코드 실행
case "mina":
print("jack, mina")
default:
print("unknown")
}~~
출처 : 유튜브 "yagom"