万网网站空间,网站建设邀标方案,织梦网站还原,做电子板报的网站记录
前段时间升级Go版本碰到一个大坑#xff0c;先记录。
先上代码案例#xff1a;
func main() {testClosure()
}func testClosure() {for i : 0; i 5; i {defer func() {fmt.Println(i)}()}
}在1.22之下#xff08;不包括1.22#xff09;版本#xff1a; 输出的…记录
前段时间升级Go版本碰到一个大坑先记录。
先上代码案例
func main() {testClosure()
}func testClosure() {for i : 0; i 5; i {defer func() {fmt.Println(i)}()}
}在1.22之下不包括1.22版本 输出的结果
5
5
5
5
5在1.22及之上版本 输出的结果
4
3
2
1
0完全不一样。 查阅了半天资料最终在官网中找到答案。 官网地址https://golang.google.cn/blog/go1.22 经过测试该问题仅针对for循环中使用闭包别的闭包效果还是跟原来一样。