안녕하세요, 새내기 개발자입니다.
오늘은 Swift언어 익명함수에 대해서 알아볼게요~!
Swift 언어에서 익명 함수는 클로저(Closure)라고도 불리며, 코드 블록을 캡슐화하여 변수나 상수로 저장하거나 함수의 인자로 전달할 수 있는 기능을 제공합니다. 클로저는 일종의 무명 함수로, 이름 없이 사용되며 주로 함수 내부에서 간단한 코드 블록을 정의하고 활용하는데 사용됩니다.
클로저는 아래와 같은 형태를 가지며, 각각의 요소들은 선택적으로 사용될 수 있습니다.
<예시코드>
{ (매개변수 목록) -> 반환 타입 in
// 클로저의 코드 블록
}
매개변수 목록은 클로저가 받을 인자들을 정의하고, 반환 타입은 클로저의 반환값의 타입을 나타냅니다. in 키워드는 매개변수와 코드 블록을 분리하는 역할을 합니다.
아래는 클로저의 간단한 예시코드입니다.
let addClosure = { (a: Int, b: Int) -> Int in
return a + b
}
let result = addClosure(3, 5) // 8
클로저는 함수와 유사한 방식으로 사용될 수 있으며, 아래와 같이 함수의 인자로 전달하거나 변수/상수에 저장하여 나중에 사용할 수 있습니다.
<예시코드>
func operateNumbers(_ a: Int, _ b: Int, operation: (Int, Int) -> Int) -> Int {
return operation(a, b)
}
let addition = { (a: Int, b: Int) -> Int in
return a + b
}
let subtraction = { (a: Int, b: Int) -> Int in
return a - b
}
let result1 = operateNumbers(10, 5, operation: addition) // 15
let result2 = operateNumbers(10, 5, operation: subtraction) // 5
클로저는 간단한 코드 블록부터 복잡한 기능까지 다양하게 사용될 수 있습니다. Swift에서 클로저는 함수형 프로그래밍 패러다임과 관련된 중요한 개념 중 하나이며, 많은 유용한 기능을 제공합니다.
👍🏻