1. 程式人生 > >Go內部培訓——14.常用使用的包整理及介紹

Go內部培訓——14.常用使用的包整理及介紹

1.Go 標準庫可以大致按其中庫的功能進行以下粗略的分類

  • 輸入輸出。這個分類包括二進位制以及文字格式在螢幕、鍵盤、檔案以及其他裝置上的輸
    入輸出等,比如二進位制檔案的讀寫。對應於此分類的包有bufio、 fmt、 io、 log和flag
    等,其中 flag 用於處理命令列引數。
  • 文字處理。這個分類包括字串和文字內容的處理,比如字元編碼轉換等。對應於此分
    類的包有encoding、 bytes、 strings、 strconv、 text、 mime、 unicode、 regexp、
    index和path等。其中path用於處理路徑字串。
  • 網路。這個分類包括開發網路程式所需要的包,比如Socket程式設計和網站開發等。對應於此
    分類的包有: net、 http和expvar等。
  • 系統。這個分類包含對系統功能的封裝,比如對作業系統的互動以及原子性操作等。對
    應於此分類的包有os、 syscall、 sync、 time和unsafe等。
  • 資料結構與演算法。對應於此分類的包有math、 sort、 container、 crypto、 hash、
    archive、 compress和image等。因為image包裡提供的影象編解碼都是演算法,所以也
    歸入此類。
  • 執行時。對應於此分類的包有: runtime、 reflect和go等。

2.常用包介紹

  • 介紹Go語言標準庫中使用用頻率相對較高的一些包
    fmt。它實現了格式化的輸入輸出操作,其中的fmt.Printf()和fmt.Println()是開
    發者使用最為頻繁的函式。
  • io。它實現了一系列非平臺相關的IO相關介面和實現,比如提供了對os中系統相關的IO
    功能的封裝。我們在進行流式讀寫(比如讀寫檔案)時,通常會用到該包。
  • bufio。它在io的基礎上提供了快取功能。在具備了快取功能後, bufio可以比較方便地
    提供ReadLine之類的操作。
  • strconv。本包提供字串與基本資料型別互轉的能力。
    os。本包提供了對作業系統功能的非平臺相關訪問介面。介面為Unix風格。提供的功能
    包括檔案操作、程序管理、訊號和使用者賬號等。
  • sync。它提供了基本的同步原語。在多個goroutine訪問共享資源的時候,需要使用sync
    中提供的鎖機制。
  • flag。它提供命令列引數的規則定義和傳入引數解析的功能。絕大部分的命令列程式都
    需要用到這個包。
  • encoding/json。 JSON目前廣泛用做網路程式中的通訊格式。本包提供了對JSON的基
    本支援,比如從一個物件序列化為JSON字串,或者從JSON字串反序列化出一個具體
    的物件等。
  • http。它是一個強大而易用的包,也是Golang語言是一門“網際網路語言”的最好佐證。通
    過http包,只需要數行程式碼,即可實現一個爬蟲或者一個Web伺服器,這在傳統語言中
    是無法想象的。

3. 完整包列表

11

22

3

4

5

66

7

8