[Go] 함수타입과 익명함수

go에서도 함수를 변수에 저장하거나 이름없는 함수객체를 생성해서 콜백 등에 활용할 수가 있다.

함수의 타입부터 알아보자. 함수의 타입은
func**(인자타입...) 리턴타입**
으로 표현된다.

이러면 변수에 해당 타입에 맞는 함수를 저장할 수 있다. image

image 잘 돌아간다.
물론 여기선 타입을 생략할 수 있다. image

image


익명함수
이제 익명함수를 써보자. 사용법은 아주 간단하다! 기존의 함수 선언에서 함수명만 빼면 익명함수가 된다. image

image


아 그리고 go에서 모든 함수는 클로저다. 해당 함수 바깥범위의 변수를 참조할 수 있다는 뜻이다.