天天看点

go语言之回调函数

函数可以作为其它函数的参数进行传递,然后在其它函数内调用执行,一般称之为回调。

代码示例:

package main

import "fmt"

func main() {
	// 回调函数示例
	// 使用函数Add作为函数AddOne的参数,然后在AddOne中对函数Add进行调用
	y := AddOne(2, Add)
	fmt.Println("y:", y)
}

// 求和函数
func Add(a int, b int) int {
	return a + b
}

// 增1函数
func AddOne(x int, f func(a int, b int) int) int {
	return f(x, 1)
}
           

运行结果:

y: 3