Go - defer

Go's defer statement schedules a function call (the deferred function) to be run immediately before the function executing the defer returns. It's an unusual but effective way to deal with situations such as resources that must be released regardless of which path a function takes to return. The canonical examples are unlocking a mutex or closing a file.

package main

import "fmt"

func main() {
    defer fmt.Println("This is the last statement in main.") 

    fmt.Println("Starting main...")

    defer fmt.Println("This is the second deferred statement.") 

    fmt.Println("End of main.")
}

output:

// LIFO
Starting main...
End of main.
This is the second deferred statement.
This is the last statement in main.

The arguments to the deferred function (which include the receiver if the function is a method) are evaluated when the defer executes, not when the call executes.

package main

import "fmt"

func main() {
    i := 0
    defer fmt.Println(i)
    i++
}

output:

0
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暮顺,一起剝皮案震驚了整個濱河市厅篓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拖云,老刑警劉巖贷笛,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宙项,居然都是意外死亡乏苦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門尤筐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汇荐,“玉大人,你說我怎么就攤上這事盆繁∠铺裕” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵油昂,是天一觀的道長革娄。 經(jīng)常有香客問我倾贰,道長,這世上最難降的妖魔是什么拦惋? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任匆浙,我火速辦了婚禮,結(jié)果婚禮上厕妖,老公的妹妹穿的比我還像新娘首尼。我一直安慰自己,他們只是感情好言秸,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布软能。 她就那樣靜靜地躺著,像睡著了一般举畸。 火紅的嫁衣襯著肌膚如雪查排。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天俱恶,我揣著相機與錄音雹嗦,去河邊找鬼范舀。 笑死合是,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的锭环。 我是一名探鬼主播聪全,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辅辩!你這毒婦竟也來了难礼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤玫锋,失蹤者是張志新(化名)和其女友劉穎蛾茉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撩鹿,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡谦炬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了节沦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片键思。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖甫贯,靈堂內(nèi)的尸體忽然破棺而出吼鳞,到底是詐尸還是另有隱情,我是刑警寧澤叫搁,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布赔桌,位于F島的核電站供炎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏疾党。R本人自食惡果不足惜碱茁,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仿贬。 院中可真熱鬧纽竣,春花似錦、人聲如沸茧泪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽队伟。三九已至穴吹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嗜侮,已是汗流浹背港令。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锈颗,地道東北人顷霹。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像击吱,于是被迫代替她去往敵國和親淋淀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容