go 常见模块
一、常用包
常用包
說明
常用函數(shù)
fmt 實現(xiàn)格式化的輸入輸出操作,其中的fmt.Printf()和fmt.Println()是開發(fā)者使用最為頻繁的函數(shù)。
io 實現(xiàn)了一系列非平臺相關的IO相關接口和實現(xiàn),比如提供了對os中系統(tǒng)相關的IO功能的封裝。我們在進行流式讀寫(比如讀寫文件)時,通常會用到該包。
bufio 它在io的基礎上提供了緩存功能。在具備了緩存功能后, bufio可以比較方便地提供ReadLine之類的操作。
strconv 提供字符串與基本數(shù)據(jù)類型互轉的能力。
os 本包提供了對操作系統(tǒng)功能的非平臺相關訪問接口。接口為Unix風格。提供的功能包括文件操作、進程管理、信號和用戶賬號等。
sync 它提供了基本的同步原語。在多個goroutine訪問共享資源的時候,需要使用sync中提供的鎖機制。
flag 它提供命令行參數(shù)的規(guī)則定義和傳入?yún)?shù)解析的功能。絕大部分的命令行程序都需要用到這個包。
encoding/json JSON目前廣泛用做網(wǎng)絡程序中的通信格式。本包提供了對JSON的基本支持,比如從一個對象序列化為JSON字符串,或者從JSON字符串反序列化出一個具體的對象等。
http 通過http包,只需要數(shù)行代碼,即可實現(xiàn)一個爬蟲或者一個Web服務器,這在傳統(tǒng)語言中是無法想象的。
二、完整包列表
目錄 包 說明
bufio 實現(xiàn)緩沖的I/O
bytes 提供了對字節(jié)切片操作的函數(shù)
crypto 收集了常見的加密常數(shù)
errors 實現(xiàn)了操作錯誤的函數(shù)
Expvar 為公共變量提供了一個標準的接口,如服務器中的運算計數(shù)器
flag 實現(xiàn)了命令行標記解析
fmt 實現(xiàn)了格式化輸入輸出
hash 提供了哈希函數(shù)接口
html 實現(xiàn)了一個HTML5兼容的分詞器和解析器
image 實現(xiàn)了一個基本的二維圖像庫
io 提供了對I/O原語的基本接口
log 它是一個簡單的記錄包,提供最基本的日志功能
math 提供了一些基本的常量和數(shù)學函數(shù)
mine 實現(xiàn)了部分的MIME規(guī)范
net 提供了一個對UNIX網(wǎng)絡套接字的可移植接口,包括TCP/IP、 UDP域名解析和UNIX域套接字
os 為操作系統(tǒng)功能實現(xiàn)了一個平臺無關的接口
path 實現(xiàn)了對斜線分割的文件名路徑的操作
reflect 實現(xiàn)了運行時反射,允許一個程序以任意類型操作對象
regexp 實現(xiàn)了一個簡單的正則表達式庫
runtime 包含與Go運行時系統(tǒng)交互的操作,如控制goroutine的函數(shù)
sort 提供對集合排序的基礎函數(shù)集
strconv 實現(xiàn)了在基本數(shù)據(jù)類型和字符串之間的轉換
strings 實現(xiàn)了操作字符串的簡單函數(shù)
sync 提供了基本的同步機制,如互斥鎖
syscall 包含一個低級的操作系統(tǒng)原語的接口
testing 提供對自動測試Go包的支持
time 提供測量和顯示時間的功能
unicode Unicode編碼相關的基礎函數(shù)
archive tar 實現(xiàn)對tar壓縮文檔的訪問
zip 提供對ZIP壓縮文檔的讀和寫支持
compress bzip2 實現(xiàn)了bzip2解壓縮
flate 實現(xiàn)了RFC 1951中所定義的DEFLATE壓縮數(shù)據(jù)格式
gzip 實現(xiàn)了RFC 1951中所定義的gzip格式壓縮文件的讀和寫
lzw 實現(xiàn)了 Lempel-Ziv-Welch編碼格式的壓縮的數(shù)據(jù)格式
zlib 實現(xiàn)了RFC 1950中所定義的zlib格式壓縮數(shù)據(jù)的讀和寫
container heap 提供了實現(xiàn)heap.Interface接口的任何類型的堆操作
lsit 實現(xiàn)了一個雙鏈表
ring 實現(xiàn)了對循環(huán)鏈表的操作
crypto aes 實現(xiàn)了AES加密(以前的Rijndael)
cipher 實現(xiàn)了標準的密碼塊模式,該模式可包裝進低級的塊加密實現(xiàn)中
des 實現(xiàn)了數(shù)據(jù)加密標準( Data Encryption Standard,DES)和三重數(shù)據(jù)加密算法( TripleData Encryption Algorithm, TDEA)
dsa 實現(xiàn)了FIPS 186-3所定義的數(shù)據(jù)簽名算法( Digital Signature Algorithm)
ecdsa 實現(xiàn)了FIPS 186-3所定義的橢圓曲線數(shù)據(jù)簽名算法( Elliptic Curve Digital Signature
Algorithm)
elliptic 實現(xiàn)了素數(shù)域上幾個標準的橢圓曲線
hmac 實現(xiàn)了鍵控哈希消息身份驗證碼( Keyed-Hash Message Authentication Code,
HMAC)
md5 實現(xiàn)了RFC 1321中所定義的MD5哈希算法
rand 實現(xiàn)了一個加密安全的偽隨機數(shù)生成器
rc4 實現(xiàn)了RC4加密,其定義見Bruce Schneier的應用密碼學( Applied Cryptography)
rsa 實現(xiàn)了PKCS#1中所定義的RSA加密
sha1 實現(xiàn)了RFC 3174中所定義的SHA1哈希算法
sha256 實現(xiàn)了FIPS 180-2中所定義的SHA224和SHA256哈希算法
sha512 實現(xiàn)了FIPS 180-2中所定義的SHA384和SHA512哈希算法
subtle 實現(xiàn)了一些有用的加密函數(shù),但需要仔細考慮以便正確應用它們
tls 部分實現(xiàn)了RFC 4346所定義的TLS 1.1協(xié)議
x509 可解析X.509編碼的鍵值和證書
x509/pkix 包含用于對X.509證書、 CRL和OCSP的ASN.1解析和序列化的共享的、低級的結構
database sql 圍繞SQL提供了一個通用的接口
sql/driver 定義了數(shù)據(jù)庫驅動所需實現(xiàn)的接口,同sql包的使用方式
debug dwarf 提供了對從可執(zhí)行文件加載的DWARF調試信息的訪問,這個包對于實現(xiàn)Go語言
的調試器非常有價值
elf 實現(xiàn)了對ELF對象文件的訪問。 ELF是一種常見的二進制可執(zhí)行文件和共享庫的
文件格式。 Linux采用了ELF格式
gosym 訪問Go語言二進制程序中的調試信息。對于可視化調試很有價值
macho 實現(xiàn)了對http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/
MachORuntime/Reference/reference.html 所定義的Mach-O對象文件的訪問
pe 實現(xiàn)了對PE( Microsoft Windows Portable Executable)文件的訪問
encoding ascii85 實現(xiàn)了ascii85數(shù)據(jù)編碼,用于btoa工具和Adobe’s PostScript以及PDF文檔格式
asn1 實現(xiàn)了解析DER編碼的ASN.1數(shù)據(jù)結構,其定義見ITU-T Rec X.690
base32 實現(xiàn)了RFC 4648中所定義的base32編碼
base64 實現(xiàn)了RFC 4648中所定義的base64編碼
binary 實現(xiàn)了在無符號整數(shù)值和字節(jié)串之間的轉化,以及對固定尺寸值的讀和寫
csv 可讀和寫由逗號分割的數(shù)值( csv)文件
gob 管理gob流——在編碼器(發(fā)送者)和解碼器(接收者)之間進行二進制值交換
hex 實現(xiàn)了十六進制的編碼和解碼
json 實現(xiàn)了定義于RFC 4627中的JSON對象的編碼和解碼
pem 實現(xiàn)了PEM( Privacy Enhanced Mail)數(shù)據(jù)編碼
xml 實現(xiàn)了一個簡單的可理解XML名字空間的XML 1.0解析器
go ast 聲明了用于展示Go包中的語法樹類型
build 提供了構建Go包的工具
doc 從一個Go AST(抽象語法樹)中提取源代碼文檔
parser 實現(xiàn)了一個Go源文件解析器
printer 實現(xiàn)了對AST(抽象語法樹)的打印
scanner 實現(xiàn)了一個Go源代碼文本的掃描器
token 定義了代表Go編程語言中詞法標記以及基本操作標記( printing、 predicates)的常
量
hash adler32 實現(xiàn)了Adler-32校驗和
crc32 實現(xiàn)了32位的循環(huán)冗余校驗或CRC-32校驗和
crc64 實現(xiàn)了64位的循環(huán)冗余校驗或CRC-64校驗和
fnv 實現(xiàn)了Glenn Fowler、 Landon Curt Noll和Phong Vo所創(chuàng)建的FNV-1和FNV-1a未加
密哈希函數(shù)
html template 它自動構建HTML輸出,并可防止代碼注入
image color 實現(xiàn)了一個基本的顏色庫
draw 提供一些做圖函數(shù)
gif 實現(xiàn)了一個GIF圖像解碼器
jpeg 實現(xiàn)了一個JPEG圖像解碼器和編碼器
png 實現(xiàn)了一個PNG圖像解碼器和編碼器
index suffixarray 通過構建內存索引實現(xiàn)的高速字符串匹配查找算法
io ioutil 實現(xiàn)了一些實用的I/O函數(shù)
log syslog 提供了對系統(tǒng)日志服務的簡單接口
math big 實現(xiàn)了多精度的算術運算(大數(shù))
cmplx 為復數(shù)提供了基本的常量和數(shù)學函數(shù)
rand 實現(xiàn)了偽隨機數(shù)生成器
mime multipart 實現(xiàn)了在RFC 2046中定義的MIME多個部分的解析
net http 提供了HTTP客戶端和服務器的實現(xiàn)
mail 實現(xiàn)了對郵件消息的解析
rpc 提供了對一個來自網(wǎng)絡或其他I/O連接的對象可導出的方法的訪問
smtp 實現(xiàn)了定義于RFC 5321中的簡單郵件傳輸協(xié)議( Simple Mail Transfer Protocol)
textproto 實現(xiàn)了在HTTP、 NNTP和SMTP中基于文本的通用的請求/響應協(xié)議
url 解析URL并實現(xiàn)查詢轉義
http/cgi 實現(xiàn)了定義于RFC 3875中的CGI(通用網(wǎng)關接口)
http/fcgi 實現(xiàn)了FastCGI協(xié)議
http/httptest 提供了一些HTTP測試應用
http/httputil 提供了一些HTTP應用函數(shù),這些是對net/http包中的東西的補充,只不過相對
不太常用
http/pprof 通過其HTTP服務器運行時提供性能測試數(shù)據(jù),該數(shù)據(jù)的格式正是pprof可視化工
具需要的
rpc/jsonrpc 為rpc包實現(xiàn)了一個JSON-RPC ClientCodec和ServerCodec
os exec 可運行外部命令
user 通過名稱和id進行用戶賬戶檢查
path filepath 實現(xiàn)了以與目標操作系統(tǒng)定義文件路徑相兼容的方式處理文件名路徑
regexp syntax 將正則表達式解析為語法樹
runtime debug 包含當程序在運行時調試其自身的功能
pprof 以pprof可視化工具需要的格式寫運行時性能測試數(shù)據(jù)
sync atomic 提供了低級的用于實現(xiàn)同步算法的原子級的內存機制
testing iotest 提供一系列測試目的的類型,實現(xiàn)了Reader和Writer標準接口
quick 實現(xiàn)了用于黑箱測試的實用函數(shù)
script 幫助測試使用通道的代碼
text scanner 為UTF-8文本提供了一個掃描器和分詞器
tabwriter 實現(xiàn)了一個寫篩選器( tabwriter.Writer),它可將一個輸入的tab分割的列
翻譯為適當對齊的文本
template 數(shù)據(jù)驅動的模板引擎,用于生成類似HTML的文本輸出格式
template/parse 為template構建解析樹
unicode/utf16 實現(xiàn)了UTF-16序列的的編碼和解碼
unicode/utf8 實現(xiàn)了支持以UTF-8編碼的文本的函數(shù)和常數(shù)
————————————————
版權聲明:本文為CSDN博主「胡偉煌」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/huwh_/article/details/53710530
總結
- 上一篇: 大家来劳动教案一等奖
- 下一篇: 唐山在哪里