1. 매개변수 기본값

  • 매개변수에 기본적 전달될 값 지정
func funcName(arg1: Type, arg2: Type = "지정값) -> ReturnType {
	return "반환값"
}

// 기본값을 가지는 경우 호출시 생략가능
funcName("1")
funcName("1", "2")

2. 전달인자 레이블

  • 함수 호출시 함수 사용자 입장에서 매개변수 역할을 좀 더 멱확하게 표현하고자 할 때 사용
func funcName(arg1LabelName arg1: Type, arg2LabelName arg2: Type) {
	// 함수 내부에서 사용시 매개변수 이름을 이용
    return "Hello \(arg1)! I'm \(arg2)"
}

// 함수 호출시 전달인자 레이블을 사용
funcName(arg1LabelName: "Jimin", arg2LabelName: "ff")

// 1. 매개변수 기본값의 함수와 위의 함수가 이름이 같을 시에도 전달인자 레이블을 통해 다른 함수로 사용된다.

3. 가변 매개변수

  • 전달 받을 값의 개수를 알기 어려울 때 사용
  • 함수당 하나의 가변 매개변수만 가질 수 있음(swift 5.4 미만)
func funcName(arg1: Type, arg2: Type...) -> Type {
	return "ss"
}

// 사용예
func sayHelloFriends(me: String, friends: String...) -> String {
	return "Hello \(friends)! I'm \(me)!"
}

print(sayHelloFriends(me: "ss", friends: "hana", "eric"))
// Hello ["hana", "eric"]! I'm ss!

4. 데이터 타입으로서의 함수

var funcName: (Arg1Type, Arg2Type) -> ReturnType = someFunction(arg1, arg2)
profile
Wooyo의 개발 블로그

0개의 댓글