网站地图    收藏    合作   

主页 > 采坑 > 服务端采坑 > goLang采坑 >

golang中闭包错误引用同一个变量

来源:未知    时间:2021-05-03 17:46 作者:小飞侠 阅读:

[导读] funcmain(){fori:=0;i5;i++{deferfunc(){println(i)}()}} 改进的方法是在每轮迭代中生成一个局部变量 funcmain(){fori:=0;i5;i++{i:=ideferfunc(){println(i)}()}} 或者是通过函数参数传入 funcmain(){fori:=0;i5;i++{deferfu...

func main() {
    for i := 0; i < 5; i++ {
        defer func() {
            println(i)
        }()
    }}

改进的方法是在每轮迭代中生成一个局部变量

func main() {
    for i := 0; i < 5; i++ {
        i := i        defer func() {
            println(i)
        }()
    }}

或者是通过函数参数传入

func main() {
    for i := 0; i < 5; i++ {
        defer func(i int) {
            println(i)
        }(i)
    }}


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论