반응형
Swift 함수 기초
함수는 어떤 작업을 수행하는 코드의 그룹이다.
기능별로 나누어 그것을 각각의 함수로 작성한다면 가독성 증대 및 유지관리가 쉽다.
기본적인 함수 형태
Swift에서 함수의 정의는 다음과 같다.
func 함수이름(인자레이블: 자료형, 인자레이블: 자료형, ... ) -> (반환자료형)
{
함수 내용
return 반환값
}
기본적인 함수를 선언해 봤다. 인자는 num이라는 레이블에 Int 값을 받아서,10증가 후 결과 Int 값을 반환하는 함수이다.
함수 중복 정의
: 매개변수가 다르다면 이름이 같은 함수를 중복정의 할 수 있다.
똑같은 이름의 greet 함수가 2개이다.
- String 타입 매개변수 하나만 받는 경우
- String 타입 매개변수 2개를 받는 경우
이처럼 매개변수가 다르다면 동일한 이름의 함수를 중복정의 할 수 있다.
한번에 여러 값 반환하기
Swift에서는 '튜플'을 이용하여 retrun 시 여러 값을 반환 할 수 있다.
튜플을 이용해 여러 값을 동시에 반환할 수도 있다.
가변인자(variadic) 함수
: 매개변수 개수를 정확히 알 수 없을 때 ... 문법을 이용하여 매개변수 정의
가변인자 함수를 선언하였다. 각각의 인자를 다 더하는 간단한 합계 함수이다.
함수를 매개변수로
: 함수 또한 다른 함수의 매개변수로 전달 및 사용될 수 있다.
getFunc 함수 형식을 보자.
param1: Int
param2: (Int) -> Int (함수가 매개변수로 전달된다!)
Int형을 매개변수로 받아 Int형을 반환하는 '함수'를 매개변수로 전달할 수도 있다.
물론 전달받은 함수는 호출한 함수 내부에서 사용 가능하다.
- 첫번째 인자를 3으로 주고, 두번째 인자를 *2 값을 반환하는 doubler 함수를 전달했을 경우 결과 => 3*2=6
- 첫번째 인자를 3으로 주고, 두번째 인자를 제곱하여 반환하는 square 함수를 전달했을 경우 결과 => 3*3=9
반응형
'Swift 기초' 카테고리의 다른 글
Swift 중첩함수 (0) | 2019.03.28 |
---|---|
Swift 제너릭 (Generic) (0) | 2019.03.27 |
[Swift 기초] switch case 문 (0) | 2019.03.16 |
[Swift 기초] while, repeat while 문 (0) | 2019.03.16 |
for문 (1) | 2019.01.18 |