使用type关键字进行,
函数类型变量也可以作为函数的参数或返回值。
我觉得属于高级技巧了,初学者可能需要很多代码实现的,
高级的就可以更通用的实现。
package main import "fmt" func add(a, b int) int { return a + b } func sub(a, b int) int { return a - b } type Op func(int, int) int func do(f Op, a , b int) int { return f(a, b) } func main() { a := do(add, 1, 2) fmt.Println(a) s := do(sub, 1, 2) fmt.Println(s) f := add sum := f(3, 5) fmt.Println(sum) }