Source File: ex19a/main.go

package main

import (
    "fmt"
)

type MathFunc func (int, int) int

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

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

func TenMath(math MathFunc) int {
    return math(10, 10)
}

func main() {
    using_add := TenMath(Add)
    fmt.Println("using_add is", using_add)

    using_sub := TenMath(Sub)
    fmt.Println("using_sub is", using_sub)
}