[go] 함수를 변수로 사용하기

Go언어에서는 함수를 변수로 사용할 수 있습니다. 이는 함수를 다른 함수에 전달하거나, 함수 내부에서 동적으로 호출할 수 있는 유연한 방법을 제공합니다.

함수 타입 정의하기

먼저, 함수의 타입을 정의해야 합니다. 이를 통해 변수에 함수를 할당할 수 있습니다. 아래는 add 함수를 func(int, int) int 타입으로 정의한 예시입니다.

type operation func(int, int) int

func add(a, b int) int {
    return a + b
}

위의 코드는 operation이라는 함수 타입을 정의하고, add 함수를 해당 타입으로 정의한 것입니다.

함수 변수 선언 및 할당

다음으로, 함수 타입을 갖는 변수를 선언하고 함수를 할당할 수 있습니다.

var myFunc operation
myFunc = add

위의 코드에서 myFuncoperation 타입의 변수로, add 함수를 할당하고 있습니다.

변수로 함수 호출하기

변수에 할당된 함수는 일반 함수와 동일하게 호출할 수 있습니다.

result := myFunc(3, 4) // 결과는 7

위의 코드에서 myFunc 변수에 할당된 add 함수를 호출하여 결과를 얻을 수 있습니다.

이와 같이 Go언어를 사용하여 함수를 변수로 다루고 활용할 수 있습니다. 함수를 변수로 다루면 코드의 유연성을 높이고, 동적으로 함수를 선택하거나 변환하는 등의 다양한 기능을 구현할 수 있습니다.

더 많은 정보는 Go 언어 공식 문서를 참고하세요.