2.8 go函数回调

package main

import "fmt"

//函数也是一种类型,通过type给一个函数类型起名
type FuncType func(int, int) int //没有函数名字,没有实现{}

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

/*
回调函数,函数有一个参数是函数类型,这个函数就是回调函数
多态的体现:
先有想法,后面再实现
*/
func calc(a, b int, fTest FuncType) int {
	return fTest(a, b)

}

func main() {
	var fTest FuncType
	fTest = add
	result1 := calc(1, 2, fTest)
	fmt.Println("result1=", result1)

	fTest = minux
	result2 := calc(1, 2, fTest)
	fmt.Println("result2=", result2)

}

 

你可能感兴趣的:(2.8 go函数回调)