1、什么是go的函数类型呢?
- go的函数类型定义:用type +函数类型名 (输入类型)(输出类型),代表一类的函数
-
//函数类型,函数本身也是一种数据类型 func Minus(a, b int32) int32 { return a - b } func Add(a, b int32) int32 { return a + b } //定义函数类型 ,通过type给函数类型起名 //FuncType它是一个函数类型 type FuncType func(int32, int32) int32 //这种函数类型它代表两个输入int32,和一个输出int32的类型 //实现FuncType
func UseFunType() { //声明一个函数类型 var aFunType FuncType //给函数类型赋值 aFunType = Add aFunType(10, 5) //重新给函数类型赋值 aFunType = Minus aFunType(10, 5) //函数类型的作用是实现函数的多态 num := Calc(1, 2, Add) fmt.Println("%d", num) }
2、go的函数类型有什么用呢?
- 实现函数的多态,什么是多态呢?就是一个函数实现多种形态
-
//回调函数,函数有一个参数是函数类型,这个函数就是回调函数 //多态,多种形态,调用统一接口,不同的表现 //Calc函数实现了很多与函数类型相似的输入和输出的函数 //实现函数的多重功能 func Calc(a, b int32, fTest FuncType) (result int32) { fmt.Println("Calc") result = fTest(a, b) return }
- 有点就是我可以写调用函数的函数。
原文地址:https://www.cnblogs.com/oceanran/p/12611526.html
时间: 2024-10-12 09:11:36