CafeM0ca

[Go] A Tour of Go Exercise : Fibonacci closure 풀이 본문

Programming/Go

[Go] A Tour of Go Exercise : Fibonacci closure 풀이

M0ca 2020. 12. 3. 09:18
반응형

Go언어의 함수는 closure가 될 수 있다.

Closure는 함수값을 함수 밖에서 참조할 수 있는 변수를 말한다. 

소스코드를 보면 adder() 함수는 반환값으로 int형 변수를 매개변수로 받고 return 값이 int인 함수를 리턴한다.

 

adder 함수에서 리턴값으로 익명함수를 반환한다.

pos, neg 변수에는 각각의 고유의 익명함수를 갖고 있는 상태라서 출력시  for문 안에서 서로 다른 값을 보장받게 된다.

 

c++로 치면 함수 객체를 변수에 할당해준 느낌. 

 

closure를 사용해서 피보나치 수를 구현하는 문제다.

함수 안에서 현재 출력할 수와, 다음 수를 설정해주고 함수가 끝나기전에 변수의 값들을 바꿔주면 피보나치 수가 작동한다.

반응형

'Programming > Go' 카테고리의 다른 글

[Go] Type assertion, Type switch  (0) 2020.12.04
[Go] Interface  (0) 2020.12.04
[Go] method, receiver (go 리시버)  (0) 2020.12.04
[Go] A Tour of Go: Exercise Maps 풀이  (0) 2020.12.02
[Go] slice 탐구  (0) 2020.11.23
Comments