手记

go 延迟函数 defer


defer 语句用于延迟调用指定的函数

比如:

func outerFunc()  {

    defer fmt.Println("defer 执行")

    fmt.Println("第一个被打印")

}

go 延迟函数 defer

defer 语句最后才会被执行

func printNumbers()  {

    for i :=0 ; i < 5; i++ {

        defer func() {

            fmt.Println(i)

        }()

    }

}

会打印55555

延迟函数执行时i已经=5了

func printNumbers1() {

for i :=0 ; i < 5; i++ {

defer func(n int) {

fmt.Println(n)

}(i)

}

}

会打印43210

延迟函数有了传入参数,就会打印传入的参数

©著作权归作者所有:来自51CTO博客作者juggles的原创作品,如需转载,请注明出处,否则将追究法律责任


0人推荐
随时随地看视频
慕课网APP