回调函数是一种通过将函数作为参数传递给其他函数,并在需要时由其他函数调用的技术。
要使用回调函数,需要先定义一个函数类型,然后将该类型的函数作为参数传递给其他函数。
以下是一个简单的回调函数的示例:
package main
import (
"fmt"
)
// 定义一个函数类型
type Callback func(int) int
// 执行回调函数的函数
func process(data int, callback Callback) int {
// 调用回调函数
result := callback(data)
return result
}
func main() {
// 通过匿名函数实现回调函数
result := process(5, func(i int) int {
return i + 2
})
fmt.Println(result) // 输出 7
}
package main
import (
"fmt"
)
// 定义一个函数类型
type Callback func(...any) int
// 执行回调函数的函数
func process(data int, callback Callback) int {
// 调用回调函数
result := callback(data)
return result
}
func main() {
// 通过匿名函数实现回调函数
result := process(5, func(args ...any) int {
num, ok := args[0].(int)
if ok {
return num + 3
} else {
return 0
}
})
fmt.Println(result) // 输出 8
}