码迷,mamicode.com
首页 > 其他好文 > 详细

14_函数类型和回调函数

时间:2019-08-31 17:45:26      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:mic   width   type   函数接口   函数的参数   技术   函数   res   img   

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_函数类型和回调函数

标签:mic   width   type   函数接口   函数的参数   技术   函数   res   img   

原文地址:https://www.cnblogs.com/zhaopp/p/11439319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!