본문 바로가기
Swfit

함수 Function 알아보기

by GGShin 2022. 2. 7.

기본적인 함수의 형태

 

함수(function) 선언하는 기본 방법은 다음과 같습니다.

 

func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {

         return 반환 값

}

함수의 기본적인 형태는 위와 같지만 사용하다보면 여러 가지 형태로 사용이 가능합니다.

 

함수 활용 형태

 

1. Parameter가 2개 이상일 경우에는 쉼표로 구분한다.

func sum(a: Int, b: Int) -> Int{

    return a+b

}

sum(a: 1, b: 2)

 

2. Parameter가 없는 경우는 괄호 안을 공란으로 남겨두면 된다.

func hello() -> String {

    return "Hello"

}

hello()

 

3. 반환 값이 없는 경우(반환값 부분에 Void를 적거나 아예 반환값 부분을 생략해도 된다.)

func printName() -> Void {

    print("Jennifer")

}

또는

func printNickName(){

    print("Jen")

}

 

4. Parameter에 값을 지정하여 함수를 선언할 수도 있다.

func businessCard(customer: String, serviceLine: String = "123-456-7890"){

    print("Dear \(customer), please call \(serviceLine)")

}

 

businessCard(customer: "Yena")

businessCard(customer: "Den", serviceLine: "098-909-1234")

 

5. 전달인자 레이블 사용하기

**전달인자란, 함수를 호출할 때 사용하는 레이블(쉽게 이름이라고 생각하시면 됩니다.)입니다. 함수를 정의할 때 사용하는 레이블은 파라미터입니다. 전달인자를 잘 사용하면 함수를 호출할 때 어떤 값을 넣어야 하는 지 좀 더 직관적으로 알 수 있다는 장점이 있습니다. 

 

func direction(from origin: String, to destination: String) -> String {

    return "We are leaving \(origin) for \(destination)."

}

=> 여기에서는 from과 to가 전달인자이고 origin과 destination이 파라미터가 됩니다.

 

direction(from: "the states", to: "Korea")

 

6. 전달인자 레이블 대신 와일드 카드 사용 가능(언더 바 "_")

파라미터가 있는 함수이지만 함수를 호출할 때 전달인자도, 파라미터 네임도 사용하고 싶지 않을 때 사용합니다.

언더 바 "_"를 전달인자 위치에 사용하고 한 칸을 띄운 뒤에 파라미터 네임을 넣으면 됩니다.

그러면 함수를 호출할 때는 전달인자 레이블도 파라미터 네임도 나오지 않습니다.

 

func location(_ location: String) -> String {

    return "I'm at \(location)"

}

location("the airport")

 

7. 가변매개 변수 사용하기(배열처럼 사용가능): 점 3개를 붙이면 가변매개 변수로 선언 가능

 

func myCustomers(customers: String...) {

    print("These are my customers: \(customers)")

}

 

myCustomers(customers: "A","B","C","D")

반응형