defer的基本使用.go

package main

func main(){
//函數中-defer
/*
爲什麽需要defer
在函數中,程序員經常需要創建資源(比如;數據庫連接、文件句柄、鎖等),為了在函數執行完畢後,即使的釋放資源,Go的設計者提供defer(延時機制)。
快速入門案例
//儅執行到defer時,暫時不執行,會將defer後面的語句壓入到獨立的棧(defer棧)
//儅函數執行完畢後,在從defer棧,按照先入後出的方式出棧,執行
func sum(n1 int,n2 int)int{
defer fmt.Println(“ok1 n1=”,n1)//defer 3.Ok1 n1 =10
defer fmt.Println(“ok2 n2=”,n2)//defer 2.ok2 n2 =20
res := n1+n2// res = 30
fmt.Println(“ok3 res=”,res)//1.ok3 res =30
return res
}

func main(){
res := sum(10,20)
fmt.Println("res=",res)
}
//運行代碼,看看輸出什麽




 */

}

上一篇:go defer原理


下一篇:defer func(参数){}