함수의 표기법과 함수 타입을 알면 공식문서를 볼 때 굉장히 편하고 직관적으로 함수에 대한 이해도가 높아질 수 있다. 그런 의미에서 함수표기법과 함수 타입에 대해 알아보자!
함수 표기법은 말 그대로 함수를 표기하는 방법이다. Apple Documentation에 검색한 함수들이 이 방식으로 표기가 되어있다. 그럼 어떤 식으로 표현을 해야되는지 같이 살펴보자!
//+) 오버로딩으로 함수들 이름 다 같아도 상관없는거! 기억합시다!
//1) 파라미터가 있는 경우 -> iLoveYou(me:you:)
func iLoveYou(me: String, you: String) {
print("\\(me)는 \\(you)를 사랑합니다")
}
//2) 파라미터가 있는 경우 중 ArgumentLabel을 생략한 경우 -> iLoveYou(_:you:)
func iLoveYou(_ me: String, you: String) {
print("\\(me)는 \\(you)를 사랑합니다")
}
//3) 파라미터가 있는 경우 중 파라미터와 ArgumentLabel이 다른 경우 -> iLoveYou(from:to:)
func iLoveYou(from me: String, to you: String) {
print("\\(me)는 \\(you)를 사랑합니다")
}
//4) 파라미터가 없는 경우 -> iLoveYou
func iLoveYou() {
print("나는 너를 사랑합니다")
}
변수에 함수를 대입하면 그 변수는 일반적으로 문자열, 정수 등과는 전혀 다른 타입이 되는데 이를 함수 타입이라고 한다. 그럼 어떻게 작성하는지 알아보자!