Golang 匿名函数

介绍


Go支持匿名函数,匿名函数就是没有名字的函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数,匿名函数也可以实现多次调用。

匿名函数使用方式1:

在定义匿名函数时就直接调用,这样匿名函数就只能调用一次。

	n := func(a, b int) int{
		return a + b
	}(1, 2)
    fmt.Println(n)

上面就是匿名函数在定义的时候就完成了调用,定义就是func,调用就是传参了,这样就是在定义匿名函数的时候就调用了它。

匿名函数使用方式2:

将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数

	n := func(a, b int) int {
		return a + b
	}
	fmt.Println(n(1,2))

//将匿名函数func(abb  int)int赋给a变量,则a的数据类型就是函数类型,此时,我们可以通过a完成调用。

这样也实现了在main函数里面再定义了一个函数,也就是函数里面定义了函数。

全局匿名函数:

如果将匿名函数赋给一个全局变量,那么这个匿名函数,就成为一个全局匿名函数,可以在程序有效。 

func1就是全局匿名函数,那么这个函数就可以在任何地方使用了。

var (
	func1 = func(n1, n2 int) int {
		return n1 + n2
	}
)

func main() {
	n := func1(1,2)
	fmt.Println(n)
    fmt.Println(reflect.TypeOf(func1))  //func(int, int) int
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值