go 函数方法作为参数传递:go 函数可作为其他函数的参数传递。可以将代码组织成模块化且可重用的片段。实战案例:可以使用打印函数作为参数打印切片元素。
Go 语言中函数方法作为参数的传递
Go 中的函数是一个一等公民,因此它们可以作为其他函数的参数进行传递。这允许您将代码组织成模块化且可重用的片段。
语法
func f(a int, fn func(int)) {
fn(a)
}
在这个示例中,f
函数接收两个参数:一个int
和一个函数类型为 func(int)
的函数。
实战案例:打印切片元素
让我们编写一个函数来打印切片元素,该函数将打印函数作为参数接收。
package main
import "fmt"
// PrintSlice 使用给定的打印函数打印切片元素
func PrintSlice(s []int, fn func(int)) {
for _, v := range s {
fn(v)
}
}
func main() {
numbers := []int{1, 2, 3, 4, 5}
// 使用 lambda 表达式打印元素
PrintSlice(numbers, func(n int) { fmt.Println(n) })
// 使用命名函数打印元素
PrintSlice(numbers, func(x int) { fmt.Printf("%d ", x) })
}
输出:
1
2
3
4
5
1 2 3 4 5
在本例中,PrintSlice
函数接受一个切片和一个打印函数。然后,它循环遍历切片,并将每个元素传递给打印函数。
以上就是golang函数方法作为参数传递的详细内容,更多请关注编程网其它相关文章!