[swift] 클로저 연산자
스위프트에서는 클로저를 간결하게 작성하기 위해 연산자를 사용할 수 있습니다. 클로저 연산자는 클로저를 간단하게 정의하고 사용할 수 있는 강력한 도구입니다.
클로저란 무엇인가요?
클로저는 일급 객체로서, 함수처럼 전달하거나 저장할 수 있는 블록입니다. 클로저는 중괄호 {}
로 감싸진 코드 블록으로, 매개변수와 반환 값의 타입을 명시하여 사용할 수 있습니다.
let sum: (Int, Int) -> Int = { (a, b) in
return a + b
}
위의 예제에서 sum
은 두 개의 정수를 입력받아 그 합을 반환하는 클로저를 나타냅니다.
클로저 연산자 사용하기
스위프트에서는 클로저의 입력 매개변수와 반환 값의 타입을 생략할 수 있습니다. 이때 클로저 연산자를 사용하여 더 간결하게 클로저를 작성할 수 있습니다.
인자 타입 생략하기
만약 클로저가 단일 표현식을 가지고 있다면 입력 매개변수와 반환 값의 타입을 생략할 수 있습니다. 이때 in
키워드도 생략됩니다.
let numbers = [1, 2, 3, 4, 5]
let mappedNumbers = numbers.map { $0 * 2 } // 입력 매개변수와 반환 값의 타입 생략
위의 예제에서는 numbers
배열의 각 요소를 두 배로 만든 mappedNumbers
배열을 만들기 위해 클로저 연산자를 사용했습니다.
인자 이름 생략하기
만약 클로저의 입력 매개변수가 사용되지 않는다면, 입력 매개변수의 이름을 생략하여 $0
, $1
, $2
등의 자동 인자 이름을 사용할 수 있습니다.
let sortedNumbers = numbers.sorted { $0 < $1 } // 인자 이름 생략
위의 예제에서는 numbers
배열을 오름차순으로 정렬하기 위해 $0
과 $1
을 사용하여 클로저를 작성했습니다.
결론
클로저 연산자는 스위프트에서 매우 유용하게 사용될 수 있는 기능 중 하나입니다. 클로저를 간결하게 작성하고 읽기 쉽게 만들기 위해 클로저 연산자의 사용법을 잘 익혀두는 것이 좋습니다.
더 많은 정보는 스위프트 문서를 참고하세요.
- 작성자: @리액트
- 검토자: @스위프트
- 최종 편집: 2022년 6월 28일