go語言有哪些包
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等等。
本教學操作環境: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) bufiobufio 套件透過對 io 套件的封裝,提供了資料緩衝功能,能夠一定程度減少大塊資料讀取寫入所帶來的開銷。
在 bufio 各個元件內部都維護了一個緩衝區,資料讀寫作業都直接透過快取區進行。當發起一次讀寫作業時,會先嘗試從緩衝區取得數據,只有當緩衝區沒有資料時,才會從資料來源取得資料更新緩衝。
4) sortsort 套件提供了用於對切片和使用者定義的集合進行排序的功能。
5) strconvstrconv 套件提供了將字串轉換成基本資料類型,或從基本資料類型轉換為字串的功能。
6) osos 套件提供了不依賴平台的作業系統函數接口,設計像Unix 風格,但錯誤處理是go 風格,當os 套件使用時,如果失敗後傳回錯誤類型而不是錯誤數量。
7) syncsync 套件實作多執行緒中鎖定機制以及其他同步互斥機制。
8) flagflag 套件提供命令列參數的規則定義和傳入參數解析的功能。絕大部分的命令列程式都需要用到這個套件。
9) encoding/jsonJSON 目前廣泛地用來做網路程式中的通訊格式。 encoding/json 套件提供了對 JSON 的基本支持,例如從一個物件序列化為 JSON 字串,或從 JSON 字串反序列化出一個具體的物件等。
10) html/template主要實作了 web 開發中產生 html 的 template 的一些函數。
11) net/httpnet/http 套件提供HTTP 相關服務,主要包括http 請求、回應和URL 的解析,以及基本的http 用戶端和擴充的http 服務。
透過 net/http 套件,只需要數行程式碼,即可實作一個爬蟲或一個 Web 伺服器,這在傳統語言中是無法想像的。
12) reflectreflect 套件實現了執行時間反射,允許程式透過抽象類型操作物件。通常用於處理靜態類型 interface{} 的值,並且透過 Typeof 解析出其動態類型訊息,通常會傳回一個有介面類型 Type 的物件。
13) os/execos/exec 套件提供了執行自訂 linux 指令的相關實作。
14) stringsstrings 套件主要是處理字串的一些函數集合,包括合併、尋找、分割、比較、後綴檢查、索引、大小寫處理等等。
strings 套件與 bytes 套件的函數介面功能基本一致。
15) bytesbytes 套件提供了一系列對位元組切片進行讀寫操作的函數。位元組切片處理的函數比較多,分為基本處理函數、比較函數、後綴檢查函數、索引函數、分割函數、大小寫處理函數和子切片處理函數等。
16) loglog 套件主要用於在程式中輸出日誌。
- log 套件中提供了三類日誌輸出接口,Print、Fatal 和 Panic。
- ###Print 是普通輸出;###
Fatal 是執行完 Print 後,執行 os.Exit(1);
Panic 是執行完 Print 後呼叫 panic() 方法。
推薦學習:Golang教學
以上是go語言有哪些包的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

GoLand中自定義結構體標籤不顯示怎麼辦?在使用GoLand進行Go語言開發時,很多開發者會遇到自定義結構體標籤在�...

Go爬蟲Colly中的Queue線程問題探討在使用Go語言的Colly爬蟲庫時,開發者常常會遇到關於線程和請求隊列的問題。 �...

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

Go語言中字符串打印的區別:使用Println與string()函數的效果差異在Go...

Go語言中結構體定義的兩種方式:var與type關鍵字的差異Go語言在定義結構體時,經常會看到兩種不同的寫法:一�...

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...
