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