首頁  >  文章  >  後端開發  >  go語言有哪些包

go語言有哪些包

青灯夜游
青灯夜游原創
2021-06-07 16:06:493402瀏覽

go語言的套件:1、fmt;2、io;3、bufio;4、sort;5、strconv;6、os;7、sync;8、flag;9、encoding/json;10 、html/template;11、net/http;12、reflect等等。

go語言有哪些包

本教學操作環境:windows10系統、GO 1.11.2、Dell G3電腦。

Go 語言的原始碼重複使用建立在套件(package)基礎之上。 Go 語言的入口main() 函數所在的套件(package)叫做main,main 套件想要引用別的程式碼,必須同樣以套件的方式進行引用,本章內容將詳細講解如何匯出套件的內容及如何匯入其他套件。

Go 語言的套件與資料夾一一對應,所有與套件相關的操作,必須依賴工作目錄(GOPATH)。

標準的Go語言程式碼庫包含了大量的套件,並且在安裝 Go 的時候多數會自動安裝到系統中。我們可以在 $GOROOT/src/pkg 目錄中查看這些套件。以下簡單介紹一些我們開發中常用的套件。

1) fmt

fmt 套件實作了格式化的標準輸入輸出,這與C語言中的 printf 和 scanf 類似。其中的 fmt.Printf() 和 fmt.Println() 是開發者使用最頻繁的函數。

格式化短語派生於C語言,一些短語(%- 序列)是這樣使用:

  • %v:預設格式的值。當列印結構時,加號(% v)會增加欄位名稱;

  • %#v:Go樣式的值表達;

  • ## %T:帶有類型的Go 樣式的值表達。

2) io

這個套件提供了原始的 I/O 操作介面。它主要的任務是對 os 套件這樣的原始的​​ I/O 進行封裝,增加一些其他相關,使其具有抽像功能用在公共的介面上。

3) bufio

bufio 套件透過對 io 套件的封裝,提供了資料緩衝功能,能夠一定程度減少大塊資料讀取寫入所帶來的開銷。

在 bufio 各個元件內部都維護了一個緩衝區,資料讀寫作業都直接透過快取區進行。當發起一次讀寫作業時,會先嘗試從緩衝區取得數據,只有當緩衝區沒有資料時,才會從資料來源取得資料更新緩衝。

4) sort

sort 套件提供了用於對切片和使用者定義的集合進行排序的功能。

5) strconv

strconv 套件提供了將字串轉換成基本資料類型,或從基本資料類型轉換為字串的功能。

6) os

os 套件提供了不依賴平台的作業系統函數接口,設計像Unix 風格,但錯誤處理是go 風格,當os 套件使用時,如果失敗後傳回錯誤類型而不是錯誤數量。

7) sync

sync 套件實作多執行緒中鎖定機制以及其他同步互斥機制。

8) flag

flag 套件提供命令列參數的規則定義和傳入參數解析的功能。絕大部分的命令列程式都需要用到這個套件。

9) encoding/json

JSON 目前廣泛地用來做網路程式中的通訊格式。 encoding/json 套件提供了對 JSON 的基本支持,例如從一個物件序列化為 JSON 字串,或從 JSON 字串反序列化出一個具體的物件等。

10) html/template

主要實作了 web 開發中產生 html 的 template 的一些函數。

11) net/http

net/http 套件提供HTTP 相關服務,主要包括http 請求、回應和URL 的解析,以及基本的http 用戶端和擴充的http 服務。

透過 net/http 套件,只需要數行程式碼,即可實作一個爬蟲或一個 Web 伺服器,這在傳統語言中是無法想像的。

12) reflect

reflect 套件實現了執行時間反射,允許程式透過抽象類型操作物件。通常用於處理靜態類型 interface{} 的值,並且透過 Typeof 解析出其動態類型訊息,通常會傳回一個有介面類型 Type 的物件。

13) os/exec

os/exec 套件提供了執行自訂 linux 指令的相關實作。

14) strings

strings 套件主要是處理字串的一些函數集合,包括合併、尋找、分割、比較、後綴檢查、索引、大小寫處理等等。

strings 套件與 bytes 套件的函數介面功能基本一致。

15) bytes

bytes 套件提供了一系列對位元組切片進行讀寫操作的函數。位元組切片處理的函數比較多,分為基本處理函數、比較函數、後綴檢查函數、索引函數、分割函數、大小寫處理函數和子切片處理函數等。

16) log

log 套件主要用於在程式中輸出日誌。

    log 套件中提供了三類日誌輸出接口,Print、Fatal 和 Panic。
  • ###Print 是普通輸出;###
  • Fatal 是執行完 Print 後,執行 os.Exit(1);

  • Panic 是執行完 Print 後呼叫 panic() 方法。

推薦學習:Golang教學

以上是go語言有哪些包的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn