go 闭包函数问题 在 Go 里,闭包里的变量会被共享使用,这就意味着当你在运行闭包函数的时候,函数中使用的变量其实是循环的最后一次改变后的值。 为了理解
go 闭包函数问题
在 Go 里,闭包里的变量会被共享使用,这就意味着当你在运行闭包函数的时候,函数中使用的变量其实是循环的最后一次改变后的值。
为了理解上面这段话,给出一段测试程序:
1 | package main |
运行上述程序输出如下:
1 | go run main.go |
问题和解决方案也就很清晰了。
go 闭包函数问题 在 Go 里,闭包里的变量会被共享使用,这就意味着当你在运行闭包函数的时候,函数中使用的变量其实是循环的最后一次改变后的值。 为了理解
在 Go 里,闭包里的变量会被共享使用,这就意味着当你在运行闭包函数的时候,函数中使用的变量其实是循环的最后一次改变后的值。
为了理解上面这段话,给出一段测试程序:
1 | package main |
运行上述程序输出如下:
1 | go run main.go |
问题和解决方案也就很清晰了。