延遲調用defer的使用

關鍵字defer用於延遲一個函數或者方法(或者當前所創建的匿名函數)的執行
注意:defer語句只能出現在函數或者方法的內部
defer語句經常用於處理成對的操作,例如:打開、關閉、連接、斷開連接、加鎖、釋放鎖
通過defer機制,不論函數邏輯多複雜,都能保證在任何執行路徑下,資源被釋放
釋放資源的defer應該直接跟在請求資源的語句後
多個defer的執行順序:如果一個函數中有多個defer語句,它們會以後進先出的順序執行
哪怕函數或某個延遲調用發生錯誤,這些調用依舊會被執行
package main
import “fmt”
func main ( ) {
//defer的作用:延遲調用,main函數結束前調用
/defer/ fmt.Println(“yyy”)
fmt.Println(“kkk”)
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章