defer用途



package main

/*
defer :程序退出时执行,先进后执行
defer庸碌:
1、关闭文件句柄
2.锁资源释放
3.数据库连接释放
*/
import (
	"fmt"
)

func main() {
	i := 0
	defer fmt.Println(i) // 先进后执行
	defer fmt.Println("record")
	i = i + 10
	fmt.Println("start!")
	res := niming(1, 12)
	fmt.Println(res)
}

func niming(a, b int) int {
	result := func(a, b int) int {
		return a + b
	}
	return result(a, b)
}

/*
start!
13
record
0
*/

// func read() {
// 	r := "../test.go"
// 	v := open(r)
// 	defer v.close()
// }


原文地址:https://www.cnblogs.com/lajiao/p/10527469.html