Swift랑 친해지기/Swift문법정리

[Swift] Function Types

데브킹덕 2022. 8. 8. 15:17

Swift 함수는 First Class Citizen임

1. 변수나 상수에 저장할 수 있다. 

2. 파라미터로 전달할 수 있다.

3. 함수에서 리턴할 수 있다. 

 

 

함수의 자료형을 표현하는 방법

(ParameterTypes) -> ReturnType

 

이때 리턴타입이 없을때에도 없다는 것을 명시적으로 ()로 표현해주어야 함

 

 

파라미터가 없는 함수

파라미터가 없는 goodMorning이라는 함수를 만듦

FirstClassCitizen 첫번째 특징처럼 상수나 변수에 함수를 저장할 수 있음

이 상수 d1에 ()를 붙여서 함수를 호출해보았다.

굿모닝 잘나옴

 

 

파라미터의 자료형이 String타입인 함수를 만들었다.

직접 자료형을 선언해주어 p2에 badmorning을 저장해보았고

p3에는 형식추론을 통해 함수를 저장했다. 

 

이때 p2로 펑소처럼 함수를 호출할때 ArgumentLabel을 사용하면 다음과 같이 에러가 난다. 

이유는 상수나 변수에 함수를 저장했을떄에는 Argument Label을 쓰지 않는다. 

 

 

 

 

 

파라미터가 두개일 경우에는 다음과 같이 ,로 구분해서 변수에 저장하면 된다.

 

입출력파라미터, 가변 파라미터에서도 똑같이 구현가능하다.