14_函数类型和回调函数
Posted zhaopp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14_函数类型和回调函数相关的知识,希望对你有一定的参考价值。
1、定义一个函数类型:函数类型是定义一个函数接口,使具有相同参数、相同返回值的函数共同使用同一个借口
2、 关键字用type定义
3、声明一个函数类型,func 后面没有函数名,没有大括号
例如:
package main
import "fmt"
type Ftest func(int, int) int //这个时候就相当于一个数据类型(例如 int)
//函数类型还可以作为另一个函数的参数进行传递
func Test(a, b int, f Ftest) (res int)
res = f(a, b)
return
//定义一个加法函数
func Add(a, b int) (result int)
result = a + b
return
//定义一个乘法
func Mul(a, b int) (res int)
res = a * b
return
func main()
//通过传递函数参数,来调用函数使用
res1 := Test(2, 3, Add)
fmt.Println("测试结果为:", res1)
//多态的使用,利用多态可以使用一个函数类型变量,实现多个函数的功能,更加的便捷
var calc Ftest = Add //只需要把函数名赋值给函数类型变量即可
res := calc(1, 2)
fmt.Println("两个数和为:", res) //加法
calc = Mul
res2 := calc(1, 2)
fmt.Println("两个数乘积为:", res2)
运行结果:
以上是关于14_函数类型和回调函数的主要内容,如果未能解决你的问题,请参考以下文章