在Go语言中,函数也可以作为其他函数的参数。这种特性被称为高阶函数。下面是一个使用函数作为参数的例子:

package main

import "fmt"

// 定义一个接收函数作为参数的函数
func apply(f func(int, int) int, a int, b int) int {
    return f(a, b)
}

// 定义一个用于加法的函数
func add(a int, b int) int {
    return a + b
}

// 定义一个用于减法的函数
func subtract(a int, b int) int {
    return a - b
}

func main() {
    // 使用加法函数
    sum := apply(add, 5, 3)
    fmt.Println("加法结果:", sum)

    // 使用减法函数
    difference := apply(subtract, 5, 3)
    fmt.Println("减法结果:", difference)
}

在这个例子中,我们定义了一个名为apply的函数,它接受另一个函数作为参数。我们还定义了两个简单的数学函数add和subtract,它们分别用于加法和减法。在main函数中,我们调用apply函数并传递add或subtract作为第一个参数,然后传递两个整数作为其他参数。这样,apply函数就可以使用我们传递的函数来处理这些整数,并返回结果。


0 条评论

发表回复

您的电子邮箱地址不会被公开。