23 函数作用域与闭包
作用域 作用域并非函数的子知识点,之所以在此处介绍,是因为在学习完函数基本使用后,我们才可以成体系介绍它 一 作用域介绍 1、什么是作用域? 域指的是范围,作用域名指的是名字(变量名、函数名等)可以被有效访问的范围 2、为何要学习作用域? 声明语句会将程序中的实体和一个名字关联,比如函数名、变量名等名字,而声明的意义在于以后引用,若想引用声明实体就…
22 函数嵌套
函数嵌套 一 嵌套定义 在Go语言中,定义在函数内部的函数必须是匿名函数 例1: func f1() { func(x int, y int) { fmt.Println(x + y) }(1, 2) } func main() { f1() // 3 } 例2: func f2() func() { return func() { fmt.Pri…
21 函数变量
函数变量 一 函数是第一等公民 go中函数在Go语言中属于“一等公民”,说白了就是可以把函数当变量一样去用,具体如下 1、可以声明函数类型的变量 2、可以赋值 3、可以当做另外一个函数的参数 4、可以当做另外一个函数的返回值 了解:高阶函数指的就是 1、函数可以作为参数 2、函数可以作为返回值 二 可以声明函数类型的变量 我们可以使用typ…