下面是A Tour of Go中函数闭包的代码,我对函数闭包有一点了解,但我是Go的初学者。
package main
import "fmt"
func adder() func(int) int {
sum := 0
return func(x int) int {
sum += x
return sum
}
}
func main() {
pos, neg := adder(), adder()
for i := 0; i < 10; i++ {
fmt.Println(
pos(i),
neg(-2*i),
)
}
}
以下是一些问题:
分别是[参数列表]和[return_types]?func adder() func(int) int {
对于与问题.1相同的行,为什么有(int)而不是像(x int)这样的东西?
对于 ,这是否意味着将函数加法器分配给 pos 和 neg,为什么不应该是?pos, neg := adder(), adder()
pos, neg := adder, adder
喵喔喔
相关分类