조건문

JG Ahn·2024년 9월 30일

swift 기초

목록 보기
8/23

1. if else

  • 조건을 감싸는 소괄호는 선택사항
// 기본 형태
if 조건 {
	/*실행구문*/
} else if {
	/*실행구문*/
} else {
	/*실행구문*/
}
let someInteger = 100

if someInteger < 100 {
	print("100 미만")
} else if someInteger > 100 {
	print("100 초과")
} else {
	print("100")
}

2. switch

  • 모든 패턴이 case와 일치하는 한정적 상황 외에 default 구문은 반드시 작성
  • break를 명시하지 않아도 자동으로 case마다 break됨(fallthrough 사용시 break 무시)
// 기본 형태
switch 비교값 {
case 패턴:
	/*실행구문*/
default:
	/*실행구문*/
}
// 범위 연산자 활용
switch someInteger {
case 0:
	print("zero")
case 1..<100:		// a..<b => a이상 b미만
	print("1~99")
case 100:
	print("100")	
case 101...Int.max: // a...b => a이상 b이하
	print("over 100")
default:
	print("unknown")
}

// 정수 외 대부분의 기본타입 사용 가능
switch "Harry" {
case "Bale":
	print("Bale")
case "Sonny":
	print("Sonny")
case "Harry":
	print("Harry")
default:
	print("unknown")
}

3. guard

  • 조건이 false일 경우 코드를 실행하지 않고 코드블록을 빠져나감
  • else 블록은 필수!(return, break, continue, throw등 코드블록 종료 구문 필요)
//기본 형태
guard 조건문 else {
	//조건이 false 일 때 실행되는 코드블록
    //코드블록 종료구문 필요
}

//early exit(빠른 탈출)이라고도 불림

* 범위 연산자

  1. a...b : a이상 b이하

  2. a..<b : a이상 b미만

  3. ...a : a이하
    a... : a이상
    ..<a : a미만
    ( * 초과에 해당하는 부분은 없음)

  4. ~= : 범위 안에 해당 값이 속하는지 확인

let range = 1..<8

range ~= 1 //true
range ~= 8 //false

0개의 댓글