[swift] 클로저 유형
클로저는 Swift에서 함수나 메서드, 또는 다른 클로저를 전달인자로 받거나 함수실행의 결과로 반환할 수 있는 독립적인 블록으로, 함수형 언어의 개념을 구현하는 데 사용됩니다. 클로저는 변수나 상수에 저장할 수 있고 다른 함수의 전달인자로 전달할 수도 있습니다.
let multiply: (Int, Int) -> Int = { (a, b) in
return a * b
}
print(multiply(3, 4)) // 출력: 12
위 예제에서 multiply
는 두 개의 정수를 입력받아 곱한 결과를 반환하는 클로저입니다. 클로저는 Int
형식을 갖는 두 개의 입력 매개변수를 사용하고 Int
를 반환합니다.
Swift에서는 다음과 같은 클로저 유형들이 있습니다:
- (inputTypes) -> outputType: 입력 매개변수의 타입과 반환 타입을 명시하여 클로저를 정의합니다.
- () -> outputType: 매개변수가 없는 경우 클로저를 정의합니다.
- (inout Type1, Type2, …) -> Void: 입력 매개변수의 타입이 있는 경우 클로저를 정의합니다.
- (Type1, Type2) -> Bool: Boolean 값을 반환하는 클로저를 정의하는 경우에 사용됩니다.
- () -> Void: 아무것도 반환하지 않는 클로저를 정의합니다.
클로저는 유연한 함수형 프로그래밍을 가능하게 하며, Swift의 강력한 기능 중 하나입니다.
더 많은 정보는 Swift 공식 문서 - 클로저에서 확인하실 수 있습니다.