在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 条评论