Go常用包

轉自:https://blog.csdn.net/huwh_/article/details/53710530

本文個人博客地址爲:http://www.huweihuang.com/article/golang/golang-packages/


一、常用包

常用包
說明
常用函數
fmt實現格式化的輸入輸出操作,其中的fmt.Printf()和fmt.Println()是開發者使用最爲頻繁的函數。 
io實現了一系列非平臺相關的IO相關接口和實現,比如提供了對os中系統相關的IO功能的封裝。我們在進行流式讀寫(比如讀寫文件)時,通常會用到該包。 
bufio它在io的基礎上提供了緩存功能。在具備了緩存功能後, bufio可以比較方便地提供ReadLine之類的操作。 
strconv提供字符串與基本數據類型互轉的能力。 
os本包提供了對操作系統功能的非平臺相關訪問接口。接口爲Unix風格。提供的功能包括文件操作、進程管理、信號和用戶賬號等。 
sync它提供了基本的同步原語。在多個goroutine訪問共享資源的時候,需要使用sync中提供的鎖機制。 
flag它提供命令行參數的規則定義和傳入參數解析的功能。絕大部分的命令行程序都需要用到這個包。 
encoding/jsonJSON目前廣泛用做網絡程序中的通信格式。本包提供了對JSON的基本支持,比如從一個對象序列化爲JSON字符串,或者從JSON字符串反序列化出一個具體的對象等。 
http通過http包,只需要數行代碼,即可實現一個爬蟲或者一個Web服務器,這在傳統語言中是無法想象的。 

二、完整包列表

目錄說明
 bufio實現緩衝的I/O
bytes提供了對字節切片操作的函數
crypto收集了常見的加密常數
errors實現了操作錯誤的函數
Expvar爲公共變量提供了一個標準的接口,如服務器中的運算計數器
flag實現了命令行標記解析
fmt實現了格式化輸入輸出
hash提供了哈希函數接口
html實現了一個HTML5兼容的分詞器和解析器
image實現了一個基本的二維圖像庫
io提供了對I/O原語的基本接口
log它是一個簡單的記錄包,提供最基本的日誌功能
math提供了一些基本的常量和數學函數
mine實現了部分的MIME規範
net提供了一個對UNIX網絡套接字的可移植接口,包括TCP/IP、 UDP域名解析和UNIX域套接字
os爲操作系統功能實現了一個平臺無關的接口
path實現了對斜線分割的文件名路徑的操作
reflect實現了運行時反射,允許一個程序以任意類型操作對象
regexp實現了一個簡單的正則表達式庫
runtime包含與Go運行時系統交互的操作,如控制goroutine的函數
sort提供對集合排序的基礎函數集
strconv實現了在基本數據類型和字符串之間的轉換
strings實現了操作字符串的簡單函數
sync提供了基本的同步機制,如互斥鎖
syscall包含一個低級的操作系統原語的接口
testing提供對自動測試Go包的支持
time提供測量和顯示時間的功能
unicodeUnicode編碼相關的基礎函數
archivetar實現對tar壓縮文檔的訪問
zip提供對ZIP壓縮文檔的讀和寫支持
compressbzip2實現了bzip2解壓縮
flate實現了RFC 1951中所定義的DEFLATE壓縮數據格式
gzip實現了RFC 1951中所定義的gzip格式壓縮文件的讀和寫
lzw實現了 Lempel-Ziv-Welch編碼格式的壓縮的數據格式
zlib實現了RFC 1950中所定義的zlib格式壓縮數據的讀和寫
containerheap提供了實現heap.Interface接口的任何類型的堆操作
lsit實現了一個雙鏈表
ring實現了對循環鏈表的操作
cryptoaes實現了AES加密(以前的Rijndael)
cipher實現了標準的密碼塊模式,該模式可包裝進低級的塊加密實現中
des實現了數據加密標準( Data Encryption Standard,DES)和三重數據加密算法( TripleData Encryption Algorithm, TDEA)
dsa實現了FIPS 186-3所定義的數據簽名算法( Digital Signature Algorithm)
ecdsa實現了FIPS 186-3所定義的橢圓曲線數據簽名算法( Elliptic Curve Digital Signature
Algorithm)
elliptic實現了素數域上幾個標準的橢圓曲線
hmac實現了鍵控哈希消息身份驗證碼( Keyed-Hash Message Authentication Code,
HMAC)
md5實現了RFC 1321中所定義的MD5哈希算法
rand實現了一個加密安全的僞隨機數生成器
rc4實現了RC4加密,其定義見Bruce Schneier的應用密碼學( Applied Cryptography)
rsa實現了PKCS#1中所定義的RSA加密
sha1實現了RFC 3174中所定義的SHA1哈希算法
sha256實現了FIPS 180-2中所定義的SHA224和SHA256哈希算法
sha512實現了FIPS 180-2中所定義的SHA384和SHA512哈希算法
subtle實現了一些有用的加密函數,但需要仔細考慮以便正確應用它們
tls部分實現了RFC 4346所定義的TLS 1.1協議
x509可解析X.509編碼的鍵值和證書
x509/pkix包含用於對X.509證書、 CRL和OCSP的ASN.1解析和序列化的共享的、低級的結構
databasesql圍繞SQL提供了一個通用的接口
sql/driver定義了數據庫驅動所需實現的接口,同sql包的使用方式
debugdwarf提供了對從可執行文件加載的DWARF調試信息的訪問,這個包對於實現Go語言
的調試器非常有價值
elf實現了對ELF對象文件的訪問。 ELF是一種常見的二進制可執行文件和共享庫的
文件格式。 Linux採用了ELF格式
gosym訪問Go語言二進制程序中的調試信息。對於可視化調試很有價值
macho實現了對http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/
MachORuntime/Reference/reference.html 所定義的Mach-O對象文件的訪問
pe實現了對PE( Microsoft Windows Portable Executable)文件的訪問
encodingascii85實現了ascii85數據編碼,用於btoa工具和Adobe’s PostScript以及PDF文檔格式
asn1實現瞭解析DER編碼的ASN.1數據結構,其定義見ITU-T Rec X.690
base32實現了RFC 4648中所定義的base32編碼
base64實現了RFC 4648中所定義的base64編碼
binary實現了在無符號整數值和字節串之間的轉化,以及對固定尺寸值的讀和寫
csv可讀和寫由逗號分割的數值( csv)文件
gob管理gob流——在編碼器(發送者)和解碼器(接收者)之間進行二進制值交換
hex實現了十六進制的編碼和解碼
json實現了定義於RFC 4627中的JSON對象的編碼和解碼
pem實現了PEM( Privacy Enhanced Mail)數據編碼
xml實現了一個簡單的可理解XML名字空間的XML 1.0解析器
goast聲明瞭用於展示Go包中的語法樹類型
build提供了構建Go包的工具
doc從一個Go AST(抽象語法樹)中提取源代碼文檔
parser實現了一個Go源文件解析器
printer實現了對AST(抽象語法樹)的打印
scanner實現了一個Go源代碼文本的掃描器
token定義了代表Go編程語言中詞法標記以及基本操作標記( printing、 predicates)的常
hashadler32實現了Adler-32校驗和
crc32實現了32位的循環冗餘校驗或CRC-32校驗和
crc64實現了64位的循環冗餘校驗或CRC-64校驗和
fnv實現了Glenn Fowler、 Landon Curt Noll和Phong Vo所創建的FNV-1和FNV-1a未加
密哈希函數
htmltemplate它自動構建HTML輸出,並可防止代碼注入
imagecolor實現了一個基本的顏色庫
draw提供一些做圖函數
gif實現了一個GIF圖像解碼器
jpeg實現了一個JPEG圖像解碼器和編碼器
png實現了一個PNG圖像解碼器和編碼器
indexsuffixarray通過構建內存索引實現的高速字符串匹配查找算法
ioioutil實現了一些實用的I/O函數
logsyslog提供了對系統日誌服務的簡單接口
mathbig實現了多精度的算術運算(大數)
cmplx爲複數提供了基本的常量和數學函數
rand實現了僞隨機數生成器
mimemultipart實現了在RFC 2046中定義的MIME多個部分的解析
nethttp提供了HTTP客戶端和服務器的實現
mail實現了對郵件消息的解析
rpc提供了對一個來自網絡或其他I/O連接的對象可導出的方法的訪問
smtp實現了定義於RFC 5321中的簡單郵件傳輸協議( Simple Mail Transfer Protocol)
textproto實現了在HTTP、 NNTP和SMTP中基於文本的通用的請求/響應協議
url解析URL並實現查詢轉義
http/cgi實現了定義於RFC 3875中的CGI(通用網關接口)
http/fcgi實現了FastCGI協議
http/httptest提供了一些HTTP測試應用
http/httputil提供了一些HTTP應用函數,這些是對net/http包中的東西的補充,只不過相對
不太常用
http/pprof通過其HTTP服務器運行時提供性能測試數據,該數據的格式正是pprof可視化工
具需要的
rpc/jsonrpc爲rpc包實現了一個JSON-RPC ClientCodec和ServerCodec
osexec可運行外部命令
user通過名稱和id進行用戶賬戶檢查
pathfilepath實現了以與目標操作系統定義文件路徑相兼容的方式處理文件名路徑
regexpsyntax將正則表達式解析爲語法樹
runtimedebug包含當程序在運行時調試其自身的功能
pprof以pprof可視化工具需要的格式寫運行時性能測試數據
syncatomic提供了低級的用於實現同步算法的原子級的內存機制
testingiotest提供一系列測試目的的類型,實現了Reader和Writer標準接口
quick實現了用於黑箱測試的實用函數
script幫助測試使用通道的代碼
textscanner爲UTF-8文本提供了一個掃描器和分詞器
tabwriter實現了一個寫篩選器( tabwriter.Writer),它可將一個輸入的tab分割的列
翻譯爲適當對齊的文本
template數據驅動的模板引擎,用於生成類似HTML的文本輸出格式
template/parse爲template構建解析樹
unicode/utf16實現了UTF-16序列的的編碼和解碼
unicode/utf8實現了支持以UTF-8編碼的文本的函數和常數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章