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

it2022-05-05  137

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") } -------------------------------------------------------------------------------------

 

转载于:https://www.cnblogs.com/songhuan999999/p/11189543.html


最新回复(0)