在Go中,函数可以作为参数传递给其他函数。下面是一个简单的例子,演示了如何将一个函数作为参数传递给另一个函数:
package main
import "fmt"
// 定义一个函数类型,该类型的函数接受两个整型参数并返回一个整型结果
type calculate func(int, int) int
// 定义一个函数,该函数接受一个calculate类型的函数作为参数
// 并调用该函数来计算两个整数的和
func add(x, y int, f calculate) int {
return f(x, y)
}
func main() {
// 定义一个函数,该函数接受两个整型参数并返回它们的和
fc := func(x, y int) int {
return x + y
}
// 调用add函数,并将add函数作为参数传递给它
// 该函数调用会计算两个整数的和并返回结果
result := add(1, 2, fc)
fmt.Println(result) // Output: 3
}
在上面的代码中,我们定义了一个名为calculate的函数类型,该类型的函数接受两个整型参数并返回一个整型结果。
然后我们定义了一个名为add的函数,该函数接受两个整型参数和一个calculate类型的函数作为参数。在函数体内,我们调用传递给函数的calculate类型的函数,