有函数如下
package main
import "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是在堆中?
泛舟湖上清波郎朗
相关分类