首页 > 文章列表 > golang函数匿名函数参数传递

golang函数匿名函数参数传递

匿名函数 golang
130 2024-04-23

Go 语言中可通过将匿名函数作为参数传递给其他函数,实现传递匿名函数的功能。语法为:funcName(func(params) return_type)。匿名函数类型需与函数参数类型一致,且可访问其定义域变量。

golang函数匿名函数参数传递

Go 语言中函数匿名函数参数传递

匿名函数是一种没有名称的函数。它们通常用作其他函数的参数或闭包。在 Go 语言中,可以将匿名函数作为参数传递给其他函数。

语法

将匿名函数作为参数传递的语法如下:

funcName(func(params) return_type)

其中,funcName 是要调用的函数,func(params) 是匿名函数,params 是匿名函数的参数,return_type 是匿名函数的返回值类型。

实战案例

下面是一个使用匿名函数作为参数的实战案例:

package main

import "fmt"

func main() {
    // 定义一个接收匿名函数作为参数的函数
    myFunc := func(f func(int) int) {
        fmt.Println(f(10))
    }

    // 定义一个匿名函数并将它作为参数传递给 myFunc
    myFunc(func(i int) int {
        return i * 2
    })
}

在这个示例中,myFunc 函数接收一个匿名函数作为参数,该匿名函数将一个整数作为参数并返回一个整数。然后,我们定义了一个匿名函数,并将它作为一个参数传递给 myFunc。匿名函数将整数 10 乘以 2,打印输出结果为 20。

注意事项

  • 匿名函数的类型必须与函数参数的类型匹配。
  • 匿名函数可以访问定义它们的作用域中的变量。
  • 匿名函数可以作为表达式使用,也可以作为其他函数的参数传递。