[100 Days Of Swift] Day 6. Closure Pt.1

Zion·2021년 6월 29일
0

함수 전달 Closure

func travel(action: (String) -> Void) {
	print("I'm getting ready to go.")
    	action("London")
    	print("I arrived!")
 }

자. 이 travel 함수가 아니 클로저가 있어. 어떻게 사용할까?

travel { (place: String) in
	print("I'm going to \(place) in my car")
}

//OUTPUT
//I'm getting ready to go.
//I'm going to London in my car
//I arrived

자 좀 복잡하지?
This is where closures can start to be read a bit like line noise. a closure you pass into a function can also accept its own parameters.
// 클로저로 보낸 함수는 또한 파라미터를 받을 수 있대 ! 이게 무슨말이야... 하니...

첫번째로 선언한 travel 함수는 (String) -> Void 형태로 리턴이 되는 함수야. 근데? action이 뭔지 모르겠네 ~.~ 함수전달해주는거지! String을 인자로(파라미터로 받는)함수일거야 그럼.

두번째 travel에선 그럼 (place: String)은 action이겠네 !
아 무슨 말인지 알아 들으셨나요... 저기 travel에 action이라고 선언했잖아요...
그럼 place가 action이겠죠...
전달했지? 근데 이 action함수가 String을 받잖아. 오키 action의 London 받고 출력!

좀 복잡하다 흐헤헤

profile
어제보다만 나아지는

0개의 댓글