Swift - Function 3

 

Swift의 함수 정리 3 - Argument Labels의 생략, 기본 매개변수 값, 가변인자

Function - 3


Argument Labels의 생략

  • 만일 argument label을 생략하고자 하면 argument label 앞에 underscore(_)를 사용한다.
  • 매개변수가 argument label을 가진 경우 함수 호출 시 반드시 인수 앞에 argument label를 써야 한다.
func someFunction(_ firstParameterName: int, secondPrameterName: int) {
	...
}

someFunction(1, secondPrameterName: 2)

기본 매개변수 값

  • 함수를 정의할 때 매개변수의 type 다음에 값을 할당하여 매개변수의 기본 값을 정의할 수 있다.
  • 함수 선언 시 매개변수들은 기본값이 없는 것들을 먼저 작성하고 뒤에 기본값이 있는 것들을 작성하는 순서로 한다(일반적으로 기본값이 없는 매개변수들이 더 중요한 변수들이며 이 변수들을 앞에 놓음으로써 중요성을 인지하도록 한다).
func somefunction(parameterWithoutDefault: int, parameterWithDefault: int = 12) {
	...
}

// parameterWithDefault 값은 6
someFunction(parameterWithoutDefault: 3, parameterWithDefault: 6)
// parameterWithDefault를 명시적으로 전달하지 않은 경우 기본으로 정의한 12가 사용된다.
someFunction(parameterWithoutDefault: 3)

가변인자

  • 가변인자는 0개 이상의 특정 type의 매개변수를 받을 수 있다.
  • 함수를 호출할 때 가변적인 개수의 인자를 전달하기 위해 사용한다.
  • 매개변수 type 뒤에 … 기호를 이용하여 가변인자를 표시한다.
  • 함수는 여러개의 가변인자를 가질 수 있다.
  • 가변인자 뒤에 나오는 첫 번째 매개변수는 반드시 argument label를 가져야 한다. 이를 통해 함수 호출 시 가변인자와 일반 인자를 구분할 수 있다.
func arithmeticMean(_ numbers: Double) -> Double {
	var total: Double = 0
	for number in numbers {
		total += number
	}

	return total / Double(numbers.count)
}

arithmeticMean(1, 2, 3, 4, 5)
arithmeticMean(3, 8.25, 18.75)