Go语言匿名函数
匿名函数
匿名函数是指不需要定义函数名的一种函数实现方式。1958年LISP首先采用匿名函数。
在Go里面,函数可以像普通变量一样被传递或使用,Go语言支持随时在代码里定义匿名函数。
匿名函数由一个不带函数名的函数声明和函数体组成。匿名函数的优越性在于可以直接使用函数内的变量,不必声明。
匿名函数定义
第一种,先声明一个函数类型的变量,然后定义一个匿名函数
package main import ( "fmt" ) func main() { var sum func(int, int) int sum = func(x, y int) int { return x + y } fmt.Println(sum(1, 2)) }
第二种,使用更简略的 ":=" 方式定义一个匿名函数
package main import ( "fmt" ) func main() { product := func(x, y int) int { return x * y } fmt.Println(product(3, 3)) }
匿名函数应用
1、匿名函数的变量为函数地址
package main import ( "fmt" ) func main() { sum := func(x, y int) int { return x + y } fmt.Printf("sum -> %v sum(1,3) = %vn", sum, sum(1, 3)) }
2、直接创建匿名函数执行并返回结果
package main import ( "fmt" ) func main() { product := func(x, y int) int { return x * y }(3, 3) fmt.Printf("product = %dn", product) }
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论