我有以下初始代码:
package main
func test(x int) (func(), func()) {
return func() {
println(x)
x += 10
}, func() {
println(x)
}
}
func main() {
a, b := test(100)
a()
b()
}
输出是
100
110
如果我按如下方式编辑代码
package main
func test(x int) (func(), func()) {
return func() {
println(x)
}, func() {
println(x)
x += 10
}
}
func main() {
a, b := test(100)
a()
b()
}
结果是
100
100
我希望最后一个结果如下,但事实并非如此,为什么?
110
100
www说
相关分类