首頁 > 後端開發 > Golang > 主體

Go語言常用內建套件有哪些

青灯夜游
發布: 2023-01-11 10:09:01
原創
1760 人瀏覽過

常用內建套件: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;13、os/exec;14、strings;15、bytes;16、log;17、time;18、regexp。

Go語言常用內建套件有哪些

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Go 語言 的標準庫涵蓋網路、系統、加密、編碼、圖形等各個方面,可以直接使用標準庫的http 套件進行HTTP 協定的收發處理;網路庫基於高效能的作業系統通訊模型(Linux 的epoll、Windows 的IOCP);所有的加密、編碼都內建支持,不需要再從第三方開發者取得。

Go 語言的編譯器也是標準函式庫的一部分,透過詞法器掃描原始碼,使用語法樹獲得原始碼邏輯分支等。 Go 語言的周邊工具也是建立在這些標準函式庫上。在標準庫上可以完成幾乎大部分的需求。

Golang 的內建套件在安裝 Go 的時候多數會自動安裝到系統中。我們可以在 $GOROOT/src/pkg 目錄中查看這些套件。

Go語言的常用內建套件

#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() 方法。

17)time

time 套件主要用於與時間相關的操作,例如格式化時間、將時間轉換為時間戳,將時間戳轉換為時間字串等操作。

18)regexp

對正規表示式的封裝。

【相關推薦:Go影片教學程式設計教學

以上是Go語言常用內建套件有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板