본문 바로가기
■ 문법 ■/Swift

03 Swift 익명함수

by Try Coding 2019. 11. 29.

익명함수란?

 

일반적인 함수의 경우 func 키워드와 함수 이름을 선언하고 사용하지만

이처럼 효율적이 ㄴ코드를 작성하기 위해 함수 이름을 선언하지 않고 바로 몸체만 만들어 사용하는 일회용 함수를 

익명함수(Anonymous Functions) 혹은 클로저(Closure)라고 한다. 

 

익명 함수를 작성할 수 있는 구문 예 

1
2
3
4
5
6
func test(finish: Bool-> () 
{
    print("test \(finish)")
}
 
 
http://colorscripter.com/inf#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 

 

test 함수는 Bool 타입의 finisih 매개변수를 받아 출력하는 함수이며 리턴 타입은 없다 

 

위의 코드를 익명 함수형태로 바꾸면?

 

1
2
3
4
{
    (finished: Bool-> () in 
    print("OK : \(finish)")
 
}
 

{

     (매개변수) -> (반환타입) in

     실행구문 

}

 

 

여기서 컴파일러가 반환 타입을 미리 알고 있다면 반환 타입을 생략할 수 이"ㅆ다.

또한 매개변수의 파라미터 타입도 생략이 가능하다 

 

 

1
2
3
4
{
    (finished: Boolin 
    print("OK : \(finish)")
}
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

{

     (매개변수) in

     실행구문 

}

 

 

댓글