我们知道函数是一等公民,函数类型也是一等数据类型,所以,我们可以把函数赋值给一个变量,这个变量也就是函数变量了。可以看下面的示例代码:
//定义一个fire()函数
func fire() {
fmt.Println("fire")
}
func main() {
//声明一个函数类型的变量f,值为默认零值nil
var f func()
//将 fire() 函数作为值,赋给函数变量 f,此时 f 的值为 fire() 函数
f = fire
//使用函数变量 f 进行函数调用,实际调用的是 fire() 函数
f()
}
是不是很简单,学会了吗?