函数变量
函数作为变量值
函数变量是把函数作为值保存到变量中.
在Golang中,,函数也是一种类型,可以和其他类型一样被保存在变量中.例如:
package main
// 将函数作为值保存到变量中
import (
"fmt"
)
func fire() {
fmt.Println("fire")
}
func main(){
f := fire() // 将变量f声明为func()类型,此时f就被俗称为“回调函数”, 此时f的值为nil
f()
}
链式调用
链式调用
是一个泛概念,到底是什么东西的链式调用不明确。
函数的返回值是一个函数时,函数也能链式调用;
函数的返回值是一个对象时,直接调用返回值中对象的方法也是链式调用。
但是前者(1)显然是没有意义的。真正有意义的链式调用是后者(2),也就是方法链(method chaining)。方法链这个词是有的,而且使用的很广泛。其实很多人口中的
链式调用
实际上就是指方法链。但是链式调用
这个词语还可以描述函数调用链,所以让