golang 中的type func()

go 语言中函数是一等公民,因此针对函数的使用也可以多种多样。在go语言中函数可以作为函数参数传递,也可以作为函数的返回值返回。

function type就是一种典型的应用。

关于function type 官方的定义如下

A function type denotes the set of all functions with the same parameter and result types.

字面意思就是有着相同的参数和返回结果的函数的合集

解释一下

type HandlerFunc func(name string)

上面的HandleFunc 是我们自定义的一个函数类型的变量,任何有相同参数的(name string) 函数都可以归为此类型的函数.下面两个函数 callback 和callback2都可以作为HandleFunc类型函数。

func callback(name string)  {
	fmt.Println(name)
}
func callback2(name string)  {
	fmt.Println("Hello" + name)
}

函数类型变量可以定义自己的方法,下面定义一个方法用来执行函数本身

func (f HandlerFunc) run(i string)  {
	f(i)
}
func SomeRun(f HandlerFunc, name string)  {
	f.run(name)
}
func main()  {
	f := HandlerFunc(callback)
	SomeRun(f,"XiaoMing")
	f2 := Handler
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值