好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > GO語言Defer用法實例分析

GO語言Defer用法實例分析

熱門標簽:外呼系統如何接收服務密碼 外呼系統多少錢一年 海外照相館地圖標注入駐 旅游廁所如何電子地圖標注 智能營銷軟件 工商信用卡外呼系統教程 經常接到推銷電話機器人的電話 滁州自建外呼系統 客服級電銷機器人

本文實例講述了GO語言Defer用法。分享給大家供大家參考。具體分析如下:

defer:調用一個被 defer 的函數時在函數剛要返回之前延遲執行,當函數無論怎樣返回,某資源必須釋放時,可用這種與眾不同、但有效的處理方式。傳統的例子包括解鎖互斥或關閉文件。

這樣延遲一個函數有雙重優勢:一是你永遠不會忘記關閉文件,此錯誤在你事后編輯函數添加一個返回路徑時常常發生。二是關閉和打開靠在一起,比放在函數尾要清晰很多。

復制代碼 代碼如下:
/**
 * Created with IntelliJ IDEA.
 * To change this template use File | Settings | File Templates.
 * Name:Defer
 */
package main
import (
 "fmt"
 "os"
 "log"
 "io"
)
//將文件內容作為一個字符串返回
func Contents(filename string) (string) {
 //打開文件
 f, err := os.Open(filename)
 if err != nil {
  log.Printf("%s",err)
 }
 fmt.Println("Close前>",f)
 // 如果f.Close在這里執行時就完了。所以用DEFER延時執行
 // 他應該會在f.Read()接收完后執行 (我個人理解)
 defer f.Close()
 fmt.Println("Close后>",f)
 var result []byte
 buf := make([]byte, 100)
 for {
  n, err := f.Read(buf[0:])
  result = append(result, buf[0:n]...)
  if err != nil {
   if err == io.EOF {
    break
   }
   log.Printf("未接收完關閉了f>%s",err)  // 如果f提前關閉了,打印
  }
 }
 return string(result)
}
func main() {

 fileurl := os.Getenv("HOME")
 filename := fileurl+"/test.txt"
 fmt.Println(Contents(filename))
}

我們可以更好的利用被延遲執行函數時特點

復制代碼 代碼如下:
/**
 * Created with IntelliJ IDEA.
 * To change this template use File | Settings | File Templates.
 * Name:Defer
 */
package main
import (
 "fmt"

)
func trace(s string) string {
 fmt.Println("entering:", s)
 return s
}
func un(s string) {
 fmt.Println("leaving:", s)
}
func a() {
 defer un(trace("a"))
 fmt.Println("in a")
}
func b() {
 defer un(trace("b"))
 fmt.Println("in b")
 a()
}
func main() {
 b()
}

希望本文所述對大家的Go語言程序設計有所幫助。

您可能感興趣的文章:
  • Go語言中的延遲函數defer示例詳解
  • 總結Go語言中defer的使用和注意要點
  • GO語言延遲函數defer用法分析
  • Go語言defer語句的三種機制整理

標簽:晉城 本溪 湘潭 運城 楚雄 九江 深圳 喀什

巨人網絡通訊聲明:本文標題《GO語言Defer用法實例分析》,本文關鍵詞  語言,Defer,用法,實例分析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《GO語言Defer用法實例分析》相關的同類信息!
  • 本頁收集關于GO語言Defer用法實例分析的相關信息資訊供網民參考!
  • 推薦文章