在Go语言中,函数也是一种数据类型,我们可以通过type来定义它
它的类型就是所有拥有相同的参数,相同的返回值的一种类型
package main
import “fmt”
func Add(a,b int) int {
return a+ b
}
func minus (a,b int) int {
return a - b
}
//函数也是一种数据类型,通过type给一个函数类型起名
//FuncType是一个函数类型
type FuncType func (int,int) int //没有函数名字,没有{}
func main ( ) {
var result int
result = Add(1,2) //传统调用方法
fmt.Println("result = ",result)
//声明一个函数类型的变量,变量名叫fTest
var fTest FuncType
fType = Add //是变量就可以赋值
result = fTest(10,20) //等价于Add(10,20)
fmt.Println("result2 = ",result)
fTest = Minus//传统调用函数通过函数名来调用,现在通过变量来调用,可以实现多态
result = fTest(10,5)//等价于Minus(10,5)
fmt.Println("result3 = ",result)
}