匿名函数,就是只有函数体没有函数名的 函数。Go 语言 支持匿名函数的定义,Go语言的匿名函数可以作为一种 类型 被赋值给函数类型的 变量,匿名函数也往往以变量方式传递。
func(paramters)(returnvals){
//do something
}
我们定义了一个匿名函数,该匿名函数的 参数列表 是 paramters,返回值 列表是 returnvals。
func(paramters)(returnvals){
//do something
}(realParamters)
我们定义了一个匿名函数,该匿名函数的参数列表是 paramters,返回值列表是 returnvals。我们需要调用该函数时,直接在大括号的后面紧接着写小括号,在小括号里面传入函数的实参即可。
定义并调用 Go 语言的匿名函数
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//定义并调用Go语言的匿名函数
func(){
fmt.Println("Hello HaiCoder")
}()
}
程序运行后,控制台输出如下:
我们定义了一个匿名函数,并且在该匿名函数的最后使用 () 的形式来调用该匿名函数,结果输出了匿名函数的函数体内容。
如果该匿名函数最后不加 (),那么该匿名函数就不会被执行。
定义并调用带参数的匿名函数
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//定义并调用带参数的匿名函数
func(num1, num2 int){
fmt.Println(num1, " + ", num2, " = ", num1+num2)
}(10, 20)
}
程序运行后,控制台输出如下:
我们定义了一个带两个 int 类型参数的匿名函数,并且在该匿名函数的最后使用 () 的形式来调用该匿名函数,在 () 里面我们传入了 10 和 20,即 10 和 20 是这个匿名函数的参数,结果输出了这两个参数的和。
Go 语言的匿名函数可以作为一种类型被赋值给函数类型的变量,匿名函数也往往以变量方式传递。Go 语言匿名函数定义:
func(paramters)(returnvals){
//do something
}
Go 语言匿名函数调用定义:
func(paramters)(returnvals){
//do something
}(realParamters)