有函數如下package mainimport "fmt"func intSeq() func() int{i := 0return func() int {
i += 1
return i
}}func main(){nextInt := intSeq()
fmt.Println(nextInt())
fmt.Println(nextInt())
fmt.Println(nextInt())
newInts := intSeq()
fmt.Println(newInts())}在intSeq()中,匿名函數里的i和外部環境中的i是同一個嗎?還是說外部的i是在棧中,匿名函數的i是在堆中?
golang閉包問題
長風秋雁
2018-08-01 09:19:20