if문
- 스위프트에서는 if 문 다음의 실행 코드가 한 줄이라도 중괄호({})를 필수적으로 사용해야 한다.
guard문(조건식이 거짓이면 실행)
- guard문은 표현식이 거짓(false)으로 판단될 경우에 수행될 else 절을 반드시 포함해야 함
- else 절에 속한 코드는 현재의 코드 흐름을 빠져 나갈 수 있는 구문(return, break, continue, throw 구문)을 반드시 포함해야 함
- guard문은 기본적으로 특정 조건에 맞지 않을 경우에 현재의 함수나 반복문에서 빠져 나갈 수 있도록 하는 ‘조기 출구(early exit)’ 전략을 제공
- 함수 내부에 있다면 보통 return을 써서 해당 함수를 조기에 빠져나오는 조기 출구 용도로 사용
guard <불리언 표현식> else {
// 표현식이 거짓일 경우에 실행될 코드
<코드 블록을 빠져 나갈 구문>
} // 표현식이 참일 경우에 실행되는 코드는 이곳에 위치
ex)
guard let lName = lastName else { // lastName 이 nil이면
print( "성이 없네요!" )
return // early exit
}
print(lName ,firstName )
- 언래핑된 number 변수를 guard문 밖에 있는 코드가 사용할 수 있다.( if문을 이용하여 언래핑된 변수는 그렇게 못함
switch-case문
- 각 case문 마지막에 break가 자동으로 들어 있음
- 여러 가지 다른 경우에 대해서 동일한 코드를 실행해야 할 경우 실행될 공통 코드로 그룹 case 문을 만들 수 있음
- where절을 switch case에 부가적인 조건을 추가하기 위하여 사용가능
ex)
switch (temperature) {
case 0...49 where temperature % 2 == 0:
print("Cold and even")
case 50...79 where temperature % 2 == 0:
print("Warm and even")
case 80...110 where temperature % 2 == 0: print("Hot and even")
default:
print("Temperature out of range or odd")
}
where절
- 특정 패턴과 결합하여 조건을 추가 ( switch, catch, while, guard, for 등에서 사용 가능
ex)
var numbers: [Int] = [1, 2, 3, 4, 5]
for num in numbers where num > 3 {
print(num)
}
fallthrough문
Swift는 일치하는 case문을 만나면 자동으로 빠져나옴 , case별로 빠져 나가지 않고 아래로 계속 내려가게 하려면 fallthrough 문 사용
ex)
var value = 3
switch (value) {
case 3:
print("3")//3
fallthrough
case 2:
print("2")//2
default:
print("1")
}
함수
- 매개변수(parameter),형식 매개 변수 - 함수 정의부의 값
- 인수(argument),실 매개 변수 - 호출시의 값
- 메서드(method) - 특정 클래스, 구조체, 열거형 내의 함수
func <함수명> (<매개변수 이름>: <매개변수 타입>, <매개변수 이름>: <매개변수 타입>,... ) -> <반환값 타입> {
// 함수 코드
}
- 반환하지 않으면(Void) 반환값 타입(Void)과 ->는 생략 가능
- 함수의 자료형, (자료형,자료형,…) -> 리턴형 , 리턴형이 Void형이면 ()
- 내부 매개변수(parameter name), 호출할 때 사용 - 외부 매개변수(argument label), 함수 내부에서 사용
ex)
func add(first x: Int, second y: Int) //외부 내부:자료형,외부 내부:자료형 -> 리턴형
add(first:10, second:20) // //외부 매개변수명 생략하면 내부 매개변수명이 외부 매개변수명까지 겸함
- #function 리터럴을 사용하여 얻을 수 있음, ex) 함수명(외부매개변수명:외부매개변수명: ...)
- 디폴트 매개변수(아규먼트) 정의 , ex) func sayHello(count: Int, name: String = "길동") -> String
- 함수는 여러 결과 값들을 튜플로 감싸서 반환할 수 있음
ex)
func converter(length: Float) -> (yards: Float, centimeters: Float, meters: Float)
return (yards, centimeters, meters)
- 가변 매개변수(variadic parameter), 함수가 가변 매개변수를 받는다는 것을 가리키기 위해서 세 개의 점(…)을 사용
- inout매개변수 , Swift에서 call by reference를 구현하는 방법
- 함수가 값을 반환한 후에도 매개변수에 일어난 변화를 유지하려면, 함수의 선언부에서 매개변수를 입출력 매개변수(inout parameter)로 선언해야 함
'잡다한지식 > iOS프로그래밍기초' 카테고리의 다른 글
iOS 학습과정(6주차) - Swift 문법 (0) | 2021.10.05 |
---|---|
iOS 학습과정(5주차) - Swift 문법 (0) | 2021.09.29 |
iOS 학습과정(3주차) - Swift 문법 (0) | 2021.09.16 |
iOS 학습과정(2주차) - 자료형 (0) | 2021.09.09 |
iOS 학습과정(1주차) (0) | 2021.09.02 |