Go標準庫包含了大量包,提供了豐富廣泛的功能特性。這裡提供了概覽僅僅是有選擇性的且非常簡單。本文發表後,標準庫的內容還可能繼續增加,因此 建議大家最好是通過線上查閱庫API或使用godoc(包含在Go發布包中)來擷取最新資訊以及全面瞭解每個包所具備的功能。
exp包(實驗性的)是那些未來可能被加入標準庫的包起步的地方,因此除非你想參加這些包的開發(通過測試、討論、提交補丁),否則不應該使用其 下面的包。exp包通常只存在於從Google Go源碼樹上籤出的源碼包中,但一般不會包含在預構建好的包中。其他包可以放心使用,雖然在寫下本文的這一刻,很多包依舊不夠完整。
Archive(歸檔)和Compression(壓縮)包
Go支援讀寫tarball和.zip檔案。與此相關的包為archive/tar和archive/zip;以及用於壓縮tarball的 compress/gzip和compress/bzip2。
Go同樣也支援其他壓縮格式;例如用於TIFF映像和PDF檔案的Lempel-Ziv-Welch (compress/lzw)格式。
Bytes(位元組)和String(字串)相關包
bytes和strings包中有很多相同的函數,但前者操作的是[]byte類型的值,而後者操作的是string類型的值。strings包 提供了所有最有用的功能函數,諸如尋找子字串、替換子字串、拆分字串、剔除字串以及大小寫變換等。strconv包提供了數字和布爾類型 與string類型相互轉換的功能。
fmt包
提供了大量有用的print和scan函數,它們在本系列教程的第一和第二部分已有相關介紹。
unicode包
提供一些用於確定字元屬性的函數,諸如判斷一個字元是否是可列印的,或是否是一個數字。unicode/utf8與 unicode/utf16這兩個包提供了rune(即,Unicode碼點/字元)的編碼和解碼功能。
text/template和html/template包
可以被用於建立模板,這些模板可基於填入的資料產生文本形式的輸出(例如HTML)。 這裡是一個小且簡單的有關text/template包使用的例子。 ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
type GiniIndex struct { Country string Index float64 } gini := []GiniIndex{{ "Japan" , 54.7}, { "China" , 55.0}, { "U.S.A." |