我正在阅读“CreateSpace An Introduction to Programming in Go 2012”
在第 86 页我发现了这个邪恶的魔法
func makeEvenGenerator() func() uint {
i := uint(0)
return func() (ret uint) {
ret = i
i += 2
return
}
}
// here's how it's called
nextEven := makeEvenGenerator()
fmt.Println(nextEven())
fmt.Println(nextEven())
fmt.Println(nextEven())
1)为什么i不重置?2)正在nextEven()回归,uint或者Println非常聪明,可以处理所有事情?
牧羊人nacy
慕田峪9158850
繁花不似锦
相关分类