Go语言匿名函数

Go语言匿名函数教程

匿名函数,就是只有函数体没有函数名的 函数Go 语言 支持匿名函数的定义,Go语言的匿名函数可以作为一种 类型 被赋值给函数类型的 变量,匿名函数也往往以变量方式传递。

Go语言匿名函数详解

定义

func(paramters)(returnvals){ //do something }

说明

我们定义了一个匿名函数,该匿名函数的 参数列表 是 paramters,返回值 列表是 returnvals。

Go语言匿名函数调用

定义

func(paramters)(returnvals){ //do something }(realParamters)

说明

我们定义了一个匿名函数,该匿名函数的参数列表是 paramters,返回值列表是 returnvals。我们需要调用该函数时,直接在大括号的后面紧接着写小括号,在小括号里面传入函数的实参即可。

案例

Go语言匿名函数

定义并调用 Go 语言的匿名函数

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //定义并调用Go语言的匿名函数 func(){ fmt.Println("Hello HaiCoder") }() }

程序运行后,控制台输出如下:

18_golang匿名函数.png

我们定义了一个匿名函数,并且在该匿名函数的最后使用 () 的形式来调用该匿名函数,结果输出了匿名函数的函数体内容。

如果该匿名函数最后不加 (),那么该匿名函数就不会被执行。

Go语言带参数的匿名函数

定义并调用带参数的匿名函数

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //定义并调用带参数的匿名函数 func(num1, num2 int){ fmt.Println(num1, " + ", num2, " = ", num1+num2) }(10, 20) }

程序运行后,控制台输出如下:

19_golang匿名函数.png

我们定义了一个带两个 int 类型参数的匿名函数,并且在该匿名函数的最后使用 () 的形式来调用该匿名函数,在 () 里面我们传入了 10 和 20,即 10 和 20 是这个匿名函数的参数,结果输出了这两个参数的和。

Go语言匿名函数总结

Go 语言的匿名函数可以作为一种类型被赋值给函数类型的变量,匿名函数也往往以变量方式传递。Go 语言匿名函数定义:

func(paramters)(returnvals){ //do something }

Go 语言匿名函数调用定义:

func(paramters)(returnvals){ //do something }(realParamters)