조건문, 연산자, 함수 활용 기초 정리 조건문, 연산자, 함수 활용 기초 정리
조건을 만족하는지 검사하여 실행 흐름을 제어할 수 있음
let a = 12
if a % 2 == 0 {
print ( "짝수" )
} else {
print ( "홀수" )
}
let weekday = Calendar.current. component (.weekday, from : .now)
if weekday == 1 {
print ( "일요일" )
} else if weekday == 2 {
print ( "월요일" )
}
// ...
연산자 설명 ==
같다 !=
같지 않다 <
, <=
, >
, >=
미만, 이하, 초과, 이상
let id = "KDN"
if id. count > 0 { }
if ! id. isEmpty { }
if ( 5 ... 20 ). contains (id. count ) { }
연산자 설명 1...10
1 이상 10 이하 (Closed Range) 1..<10
1 이상 10 미만 (Half-Open Range) ...10
10 이하 모든 값 (One-sided) 1...
1 이상 모든 값 (One-sided)
func sayHello () {
print ( "Hello" )
}
func getSomething () -> Int {
return 0
}
func add ( a : Int , b : Int ) -> Int {
a + b // return 생략 가능 (implicit return)
}
case에서 break가 없어도 자동 종료된다!
다음 문장으로 넘어가게 하려면 명시적으로 fallthrough
를 사용해야한다
func calculate ( op : String , a : Int , b : Int ) -> Int {
switch op {
case "+" : return a + b
case "-" : return a - b
case "*" : return a * b
case "/" : return a / b
default:
print ( "지원하지 않는 연산자입니다." )
return 0
}
}
calculate ( op : "*" , a : 3 , b : 5 )
조건이 참이면 계속 실행, 거짓이면 빠져나감 (return, break)
else
절이 필수이다 !
조건 검사나 옵셔널 바인딩에서 쓰인다고함
guard 조건 else {
// 조건이 false일 때 실행되는 블럭
// return, break, continue, throw 등 꼭 '빠져나가야 함'
}
항목 if
문guard
문흐름 조건이 참일 때 코드 실행 조건이 거짓이면 빠르게 탈출 가독성 중첩될 수 있음 깔끔하게 작성 가능
func sayHello ( name : String ? ) {
guard let name = name else {
print ( "이름이 없어요. 인사할 수 없어요." )
// true면 바로 빠져나감
return
}
print ( "안녕하세요, \(name) 님!" )
}