卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章48773本站已运行31116

golang函数方法作为参数传递

go 函数方法作为参数传递:go 函数可作为其他函数的参数传递。可以将代码组织成模块化且可重用的片段。实战案例:可以使用打印函数作为参数打印切片元素。

golang函数方法作为参数传递

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 函数接受一个切片和一个打印函数。然后,它循环遍历切片,并将每个元素传递给打印函数。

卓越飞翔博客
上一篇: c++中的条件语句是什么
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏