[swift] 일급 객체로서의 함수 사용법
Swift에서 함수는 일급 객체로 다루어집니다. 이는 함수를 값으로 다룰 수 있고, 변수에 할당하거나 파라미터로 전달할 수 있다는 것을 의미합니다.
함수를 변수에 할당하기
함수를 변수에 할당하기 위해선 다음과 같이 변수를 선언하고 함수를 할당할 수 있습니다.
// 함수 타입 선언
var myFunction: (Int, Int) -> Int
// 함수 할당
myFunction = { (a: Int, b: Int) -> Int in
return a + b
}
함수를 파라미터로 전달하기
함수를 다른 함수의 파라미터로 전달할 수 있습니다. 아래의 예시에서 calculate
함수는 다른 함수를 파라미터로 받아 계산을 수행합니다.
// 함수를 파라미터로 받는 함수
func calculate(a: Int, b: Int, operation: (Int, Int) -> Int) -> Int {
return operation(a, b)
}
// calculate 함수 호출
let result = calculate(a: 5, b: 3, operation: myFunction)
함수를 리턴하기
함수는 다른 함수의 리턴 타입으로도 사용될 수 있습니다.
// 함수를 리턴하는 함수
func getOperation() -> (Int, Int) -> Int {
return { (a: Int, b: Int) -> Int in
return a * b
}
}
// getOperation 함수 호출
let multiplyFunction = getOperation()
let result = multiplyFunction(4, 3) // 결과는 12
Swift에서 함수를 일급 객체로 다룰 수 있는 능력은 코드를 간결하게 작성하고 유연하게 다룰 수 있는 장점을 제공합니다.
더 자세한 내용은 Swift 공식 문서 - Functions를 참고하세요.