go语言开发交流qq群 857263711 保持进步 希望每个人都能找到自己喜欢的方式生活、工作。

go defer 语句会延迟函数的执行直到上层函数返回。

defer code...

可以理解为 执行完当前defer所在的方法代码后执行defer 中的代码

常用在释放资源

比如 关闭文件

为防止忘记编写关闭代码

可以先写好   defer  各种释放资源的代码

然后编写正常的业务代码 defer代码 是入栈操作,执行按照出栈顺序执行

-------------------------------------------------------------------------------------

package main

import (
    "fmt"
)

func main() {
    for i := 0; i < 10; i++ {
        defer fmt.Println("main over ", i)
    }
    fmt.Println("hello world")
}
-------------------------------------------------------------------------------------

 

posted on 2019-07-15 16:13  送欢  阅读(191)  评论(0编辑  收藏  举报

导航