[swift] 클로저 문법

목차


클로저란 무엇인가요?

클로저는 함수 또는 메서드로 전달되는 코드 블록으로, 해당 코드 블록은 자주 사용되는 작업을 실현합니다.

클로저 표현식

{ (parameters) -> return type in
    // 클로저 함수 내용
}

클로저 예시

let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
let reversed = names.sorted(by: { (s1: String, s2: String) -> Bool in
    return s1 > s2
})
print(reversed)

클로저 캡처 예시

func makeIncrementer(forIncrement amount: Int) -> () -> Int {
    var total = 0
    return {
        total += amount
        return total
    }
}

let incrementByTen = makeIncrementer(forIncrement: 10)
print(incrementByTen()) // Output: 10
print(incrementByTen()) // Output: 20

참고 문헌: