클로저는 다른 함수나 메서드에 전달되거나 변수로 저장할 수 있는 코드 블록입니다.
비교적 짧고 독립적인 코드 조각입니다. 이름이 없는 함수라고 할 수 있습니다.
이는 일반적으로 해당 코드 블록에서 사용되는 변수나 상수의 값을 캡처(capture)하고, 나중에 호출될 때 해당 값을 사용할 수 있게 합니다.
{ (매개변수) -> 반환 타입 in
// 클로저의 실행 코드
}
// 클로저를 변수에 할당
let sayHello = {
print("안녕하세요!")
}
// 클로저 실행
sayHello()
// 클로저를 파라미터로 받는 함수
func performOperation(_ operation: () -> Void) {
print("연산을 수행합니다.")
operation()
}
// 클로저를 함수 호출 시 전달
performOperation({
print("클로저를 실행합니다.")
})
// 클로저 축약 문법 사용
performOperation {
print("축약 문법을 사용한 클로저 실행")
}
products.filter({ (name: String) -> Bool in
return name.contains("Pro")
})
products.filter({ (name) in
return name.contains("Pro")
})
products.filter({
return $0.contains("Pro")
})
products.filter({
$0.contains("Pro")
})
products.filter(){
$0.contains("Pro")
}
products.filter{
$0.contains("Pro")
}