[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
으로 축약하여 사용하였습니다.