匿名函式
匿名函式
// Anonymous function
func(){
fmt.Println("Welcome!")
}()var addr = func() func() {
var i int
return func() {
//返回閉包時並不是單純返回一個函數,而是返回了一個結構體,記錄下函數返回地址和引用的環境中的變量地址。
i++
fmt.Printf("var (%p) = %d\n", &i, i)
//變數位址值都是相同的,閉包將變數本身關閉在自己的範疇中,而不是變數的值
}
}()
addr() //1
addr() //2 注意這邊不會是1,而是遞增
addr() //3for-loop 執行goroutine
費氏陣列(閉包版)
延伸
URL
Note
Last updated