看程序閉包
package main import "fmt" func main() { f:=test2() fmt.Println(f()) fmt.Println(f()) } func test2() func() int { a := 10 return func() int { a++ return a } }
結果爲:函數
11
12blog
這個就是閉包,格式爲有一個函數,函數的返回值爲函數類型,而且在閉包這個函數裏面有一個匿名函數,在匿名函數外面必定要有一個變量,這個變量須要在匿名函數中使用,這樣作的目的就是屢次調用時,外面這個變量都不會被清除,會一直變化,直到再也不調用這個閉包爲止class