[swift] 클로저를 사용한 람다 표현식

람다 표현식은 함수를 간단하게 표현하는 방법 중 하나로, Swift에서는 클로저를 사용하여 람다 표현식을 구현할 수 있습니다. 클로저란, 코드 블록을 변수나 상수에 할당하여 저장하거나 전달할 수 있는 독립적인 기능을 가진 함수입니다.

클로저 문법

{ (매개변수들) -> 반환타입 in
    실행 코드
}

클로저 사용 예제

let numbers = [1, 2, 3, 4, 5]

let doubledNumbers = numbers.map({ (number) -> Int in
    return number * 2
})

print(doubledNumbers) // [2, 4, 6, 8, 10]

위 예제에서는 map 메서드를 사용하여 numbers 배열의 각 요소를 2배로 만드는 클로저를 전달합니다. 클로저의 매개변수는 number이고, 반환타입은 Int입니다. 클로저 내부에서는 number * 2를 반환하는 코드를 작성하였습니다.

축약된 문법

위 예제에서 사용한 클로저는 아주 간단한 코드이므로, 더 축약된 문법으로 사용할 수도 있습니다.

let doubledNumbers = numbers.map { $0 * 2 }

map 메서드의 매개변수로 전달되는 클로저는 한 줄의 코드로 작성되었으며, number$0으로 축약하여 사용하였습니다.

참고 자료