함수도 클로저 - til30

future0159 1월 29일 AM 08:48 4 0
future0159 Profile Image Level 9
1

클로저의 일종

함수는 클로저의 일종이기 때문에, sum변수에는 당연히 함수또한 할당이 가능하다.

sum = sumFunction(a:b:)

클로저는 주로 함수의 전달인자로 많이 사용되고 함수의 동작이 완료된 이후 실행할 코드를 원한다거나 콜백의 용도로도 많이 사용한다.

func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int {
  return method(a, b)
}
calculated = calculate(a: 3, b: 4, method: { (left: Int, right: Int) -> Int in 
  return left * right 
 })

함수내부에서 메서드라는 매개변수에 전달인자로 바로 코드블록을 작성해서 넘겨도 된다

댓글