[go] 함수 타입의 반환값
package main

import "fmt"

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

func subtract(a, b int) int {
    return a - b
}

func operate(x, y int, operation func(int, int) int) int {
    result := operation(x, y)
    return result
}

func main() {
    x, y := 10, 5
    fmt.Println("Add:", operate(x, y, add))
    fmt.Println("Subtract:", operate(x, y, subtract))
}

위 예제에서 operate 함수는 int 형식의 두 인자와 func(int, int) int 타입의 함수를 인자로 받습니다. 이 함수의 반환값은 함수가 행하는 연산 결과입니다.