<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 概述 關鍵字defer用于延遲一個函數或者方法(或者當前所創建的匿名函數)的執行 .注意 :defer語句只能出現現 在函數或方法的內部 . defer語句經常被用于處理承兌的操作,如打開,關閉,連接,斷開連接,加鎖,釋放鎖. 通 過defer機制,不論函數邏輯多復雜,都能保證在任何執行路徑下,資源被釋放 . 釋放資源的defer應該直接跟 在請求資源的語句后 .如果一個函數中有多個defer語句,它們會以LIFO(后進先出)的順序執行 .哪怕函數或 某個延遲調用發生錯誤,這些調用依舊會被執行. 該關鍵字類似析構函數 . ### 實例 ~~~ func main() { defer fmt.Println("1") defer fmt.Println("2") fmt.Println("3") } ~~~ ~~~ 3 2 1 ~~~ ### 發生錯誤依然會繼續執行 ~~~ func main() { defer fmt.Println("1") defer test(0) defer fmt.Println("2") fmt.Println("3") } func test(num int) (res int) { res = 100 / num return } ~~~ ~~~ 3 2 1 panic: runtime error: integer divide by zero goroutine 1 [running]: main.test(0x0, 0x1) /Users/artisan/go/src/awesomeProject/test.go:13 +0x40 main.main() /Users/artisan/go/src/awesomeProject/test.go:10 +0x13f ~~~ #### defer和匿名函數結合使用 ~~~ func main() { num1 := 10 num2 := 20 defer func(a, b int) { fmt.Println(a, b) }(num1, num2) //這里已經把參數傳遞進去了,只是沒有調用 num1 = 100 num2 = 200 fmt.Println(num1, num2) } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看