go 语言 defer
defer 的特点:
1. 当函数返回时,执⾏defer语句。因此,可以⽤来做资源清理
2. 多个defer语句,按先进后出的⽅式执⾏ 
func testdefer2(){
	for i:=0;i<5;i++{
		defer fmt.Println(i)
	}
}
//输出结果
4
3
2
1
0
defer的用途
1. 关闭⽂件句柄
func read() {
file := open(filename)
defer file.Close()
//⽂件操作
} 
2. 锁资源释放
func read() {
mc.Lock()
defer mc.Unlock()
//其他操作
} 
3.数据库连接释放
func read() {
conn := openDatabase()
defer conn.Close()
//其他操作
} 
                    
                
                
            
        
浙公网安备 33010602011771号