[Swift] 조건문

Minjeong Park·2021년 11월 27일
0

Swift 문법

목록 보기
9/9

Swift에서 조건문은 if문과 switch문이 있다.

if문

if만 사용해도 되고, else if, else와 조합해서 사용해도 된다.
조건에는 Bool 타입의 값만 위치해야 하고(Int형 불가!),
조건 값을 감싸는 소괄호는 선택사항이다.

if (조건) {
/* 실행 구문 */
}
if (조건) {
/* 실행 구문 */
}
else {
/* 실행 구문 */
}
if (조건) {
/* 실행 구문 */
}
else if (조건) {
/* 실행 구문 */
}
else {
/* 실행 구문 */
}

switch문

다른 언어에 비해 Swift에서 switch문은 강력한 힘을 발휘하는데
정수 뿐만 아니라 스위프트의 모든 기본 타입이 지원 가능하고, 다양한 패턴으로 응용이 가능하다.

switch 비교값 {
case 1:
	/* 실행 구문 */
case 2:
	/* 실행 구문 */
case 3:
	/* 실행 구문 */
}

switch문을 사용할 땐 몇가지 주의해야 할 점이 있다!

  • 각각의 case 내부에는 반드시 실행가능한 코드가 위치해야 한다.
  • 매우 한정적인 값이 비교값이 아닌 한 default 구문은 반드시 작성해야 한다.
    • case 1...9처럼 case 옆 값에는 케이스 하나하나가 아닌 "..."으로 범위를 설정할 수 있다.
    • default를 작성하지 않으면, swift에선 나머지 case에 대해 어떻게 처리할지 물어보며 에러를 낸다. 모든 case에 대해 작성하는 게 아니라면 default 구문은 꼭 필요하다!

  • 명시적 break를 하지 않아도 자동으로 case마다 break가 된다.
var count: Int = 1
switch count {
case 10:
	print("10이당")
case 1...9:
	print("1이상 9이하")
    // break 안해도 됨!
default:
	print("이외의 케이스")
}
  • 쉼표를 사용해서 하나의 case에 여러 패턴을 명시할 수 있다.
switch "🎶" {
case "🔴":
	print("red")
case "🟠","🟡":
	print("warm")
case "🟣","🔵":
	print("cool")
default:
	print("??")
}
  • fallthrough키워드를 사용해서 break를 무시할 수 있다.
    원래 switch문에서는 하나의 케이스가 끝나면 자동으로 break가 되지만,
    fallthrough를 만나면 아래에 있는 case까지 출력된다.
switch "🎶" {
case "🔴":
    print("red")
    fallthrough
case "🟠","🟡":
    print("warm")
case "🟣","🔵":
    print("cool")
default:
    print("??")
}

case 내부 실행코드 중간에 사용하게 된다면 해당 case 실행코드 밑 코드는 무시하고,
바로 다음 case로 점프하게 된다! 그리고 break를 만나는 순간 실행은 중단된다.

profile
아자아잣

0개의 댓글