Swift - Function 2

 

Swift의 함수 정리 2 - 묵시적 리턴, Argument Label과 Parameter Name

Function - 2


묵시적 return

  • 함수의 body 전체가 하나의 표현식으로 되어 있는 경우 그 표현식은 묵시적으로 return값이 된다.
  • 따라서 하나의 return문만 있는 함수의 경우 return을 생략할 수 있다.
  • 하지만 함수 내이 문장은 반드시 리턴 가능한 값을 가지고 있어야 한다. 예를 들어 fatalError(…), print(…) 등의 함수 사용시 작동하지 않는다.
func greeting(for person: String) -> String {
	"Hello, " + person + "!"
}

print(greeting(for: "Dave"))
// 출력 : Hello, Dave!

func anotherGreeting(for person: String) -> String {
	return "Hello, " + person + "!"
}

print(anotherGreeting(for: "Dave"))
// 출력 : Hello, Dave!

argument label과 parameter name

  • 함수의 매개변수는 argument label과 parameter name를 가질 수 있다.
  • argument label은 함수를 호출할 때 인수 앞에 사용되며 parameter name는 함수 구현시 사용된다.
  • 기본적으로 매개변수는 parameter name를 argument label처럼 사용한다.
  • 모든 매개변수는 유일한 이름을 가져야 한다.
  • 여러 매개변수가 동일한 argument label을 가질 수는 있지만 가독성이 떨어지게 된다.
  • argument label은 parameter name 앞에 쓰며 공백으로 구분한다.
  • argument label의 사용은 함수 구현의 높은 가독성과 분명한 의도 표현에 더해 일상적인 문장 표현력과 같은 방법으로 함수를 호출할 수 있게 해준다.
func someFunction(firtstParameterName: int, secondParameterName: int) {
	...
}

someFunction(firtstParameterName: 1, secondParameterName 2)

func someFunction2(argumentLabel parameterName: int) {
	...
}

someFunction2(argumentLabel: 1)

func greet(person: String, from hometown: String) -> String {
	return "Hello, \(person)! Glad you could visit from \(hometown)."
}

greet(person: "Bill", from: "Cupertino")