97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

上海建設(shè)工程檢測(cè)登記的網(wǎng)站做推文網(wǎng)站除了秀米還要什么

鶴壁市浩天電氣有限公司 2026/01/24 17:16:06
上海建設(shè)工程檢測(cè)登記的網(wǎng)站,做推文網(wǎng)站除了秀米還要什么,深圳網(wǎng)站建設(shè) 利科技有限公司,取公司名稱大全簡(jiǎn)單大氣在實(shí)際編程中#xff0c;我們經(jīng)常需要清理一些資源#xff0c;比如打開的文件、數(shù)據(jù)庫連接等。當(dāng)程序不再使用這些資源時(shí)#xff0c;及時(shí)關(guān)閉它們非常重要#xff0c;否則可能會(huì)造成#xff1a;內(nèi)存泄漏文件或連接被長(zhǎng)期占用其他程序無法訪問這些資源在本節(jié)中#xff0c;…在實(shí)際編程中我們經(jīng)常需要清理一些資源比如打開的文件、數(shù)據(jù)庫連接等。當(dāng)程序不再使用這些資源時(shí)及時(shí)關(guān)閉它們非常重要否則可能會(huì)造成內(nèi)存泄漏文件或連接被長(zhǎng)期占用其他程序無法訪問這些資源在本節(jié)中我們將學(xué)習(xí) Go 語言中的一個(gè)特殊語句它可以幫助我們?cè)诔绦驁?zhí)行過程中自動(dòng)清理資源讓代碼更加簡(jiǎn)潔、安全、不易出錯(cuò)并且讓“關(guān)閉資源”的代碼緊挨著“打開資源”的代碼提高可讀性。defer語句在 Go 中我們使用defer語句來延遲執(zhí)行一個(gè)函數(shù)直到包含它的函數(shù)即將返回時(shí)才執(zhí)行。defer的基本用法下面是一個(gè)最基礎(chǔ)的例子packagemainimportfmtfuncmain(){deferfmt.Println(Printed second! 2)fmt.Println(Printed first! 1)}輸出結(jié)果Printed first!1Printed second!2代碼解釋雖然Printed second! 2在代碼中先出現(xiàn)但它并沒有先輸出。這是因?yàn)槿魏问褂胐efer修飾的語句都會(huì)等到當(dāng)前函數(shù)執(zhí)行結(jié)束時(shí)才被調(diào)用。多個(gè)defer語句在 Go 程序中可以有多個(gè)defer語句。當(dāng)存在多個(gè)defer時(shí)它們會(huì)被當(dāng)作一個(gè)棧來管理。來看下面的例子packagemainimportfmtfuncmain(){deferfmt.Println()// 第 1 個(gè) deferdeferfmt.Println()// 第 2 個(gè) deferdeferfmt.Println()// 第 3 個(gè) defer}輸出結(jié)果 代碼解釋是最先被 defer 的但最后執(zhí)行是最后被 defer 的卻最先執(zhí)行這說明defer的執(zhí)行順序是后進(jìn)先出LIFOLast In First Out可以把它理解為一個(gè)棧結(jié)構(gòu)deferdeferdefer ← 先執(zhí)行多個(gè)函數(shù)中的defer當(dāng)多個(gè)函數(shù)中都包含defer時(shí)需要注意defer只在它所在的函數(shù)結(jié)束時(shí)才會(huì)執(zhí)行來看下面的例子packagemainimportfmtfuncgreeting(){deferfmt.Println(Printed after Hello, JB Academy!)// 2fmt.Println(Hello, JB Academy!)// 1}funcmain(){deferfmt.Println(Printed after the main() function is completed.)// 4greeting()fmt.Println(Printed after calling the greeting() function.)// 3}輸出結(jié)果Hello,JB Academy!Printed after Hello,JB Academy!Printed after calling thegreeting()function.Printed after themain()function is completed.代碼解釋執(zhí)行順序如下greeting()內(nèi)部先打印→Hello, JB Academy!greeting()結(jié)束→ 執(zhí)行其defer回到main()→ 打印普通語句main()結(jié)束→ 執(zhí)行main()中的defer結(jié)論每個(gè)函數(shù)中的defer都會(huì)在該函數(shù)結(jié)束時(shí)立即執(zhí)行與其他函數(shù)互不影響。作用域中的defer再看一個(gè)關(guān)于作用域的例子funcscopedDefer(){n:0deferfunc(){fmt.Println(n ,n,- first deferred print)}(){deferfunc(){fmt.Println(n ,n,- second deferred print)}()n// n 1}n// n 2}輸出結(jié)果n2-second deferredprintn2-first deferredprint代碼解釋兩個(gè)defer都在scopedDefer()函數(shù)中即使其中一個(gè)寫在代碼塊{}內(nèi)它們也不會(huì)提前執(zhí)行都要等到scopedDefer()函數(shù)結(jié)束執(zhí)行時(shí)變量n的值已經(jīng)變成2說明defer的執(zhí)行時(shí)間與函數(shù)結(jié)束有關(guān)而不是代碼塊結(jié)束。使用defer關(guān)閉文件最常見用法defer最常見、最重要的用途之一就是釋放資源例如關(guān)閉文件。packagemainimport(fmtlogos)funcmain(){file,err:os.Create(test.txt)iferr!nil{log.Fatal(err)}deferfile.Close()// 程序結(jié)束前自動(dòng)關(guān)閉文件if_,err:fmt.Fprintln(file,Hello World!);err!nil{log.Fatal(err)}}代碼解釋os.Create()創(chuàng)建并打開文件defer file.Close()保證函數(shù)結(jié)束前文件一定會(huì)被關(guān)閉即使中途return或發(fā)生錯(cuò)誤也不會(huì)忘記關(guān)閉文件為什么要用defer關(guān)閉資源使用defer有兩個(gè)明顯優(yōu)點(diǎn)1. 防止忘記關(guān)閉資源如果以后給函數(shù)增加新的return路徑也不用擔(dān)心遺漏Close()。2. 代碼更清晰“打開資源”和“關(guān)閉資源”寫在一起可讀性更好而不是把Close()放在函數(shù)結(jié)尾??偨Y(jié)在本節(jié)中主要內(nèi)容包括defer會(huì)在當(dāng)前函數(shù)返回前執(zhí)行多個(gè)defer按后進(jìn)先出LIFO順序執(zhí)行defer的作用域是函數(shù)級(jí)別defer最常見的用途是關(guān)閉文件、釋放資源掌握defer是寫出安全、優(yōu)雅 Go 代碼的重要一步。
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)聯(lián)系我們進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

企業(yè)網(wǎng)站要求百度平臺(tái)電話

企業(yè)網(wǎng)站要求,百度平臺(tái)電話,網(wǎng)站關(guān)鍵詞太多好不好,寧夏電力建設(shè)工程公司外部網(wǎng)站Timber日志庫#xff1a;Android開發(fā)中的智能日志管理解決方案 【免費(fèi)下載鏈接】timber JakeWhar

2026/01/22 23:47:01

垂直網(wǎng)站建設(shè)步驟微信網(wǎng)站 影樓

垂直網(wǎng)站建設(shè)步驟,微信網(wǎng)站 影樓,monolith wordpress模板,陽江百姓網(wǎng)招聘Android權(quán)限管理的終極解決方案#xff1a;XXPermissions架構(gòu)設(shè)計(jì)與實(shí)戰(zhàn)應(yīng)用 【免費(fèi)下載鏈接

2026/01/23 00:28:01

青島網(wǎng)站建設(shè)和推廣江西省住房和城鄉(xiāng)建設(shè)廳官方網(wǎng)站

青島網(wǎng)站建設(shè)和推廣,江西省住房和城鄉(xiāng)建設(shè)廳官方網(wǎng)站,中國(guó)建筑人才信息網(wǎng),哈爾濱網(wǎng)站建設(shè)好Excalidraw變量系統(tǒng)引入#xff1a;動(dòng)態(tài)內(nèi)容替換設(shè)想 在現(xiàn)代技術(shù)團(tuán)隊(duì)的日常協(xié)作中#xff0c;一張架構(gòu)

2026/01/23 14:04:01