VScode 快速貼上圖片外掛
阿新 • • 發佈:2022-03-25
學習程式語言,早已不是學一點語法規則那麼簡單。現在更習慣稱作選擇 Ecosystem(生態圈),而這其中標準庫的作用和分量尤為明顯。
在Go語言的安裝檔案裡包含了一些可以直接使用的包,即標準庫。Go語言的標準庫(通常被稱為語言自帶的電池),提供了清晰的構建模組和公共介面,包含 I/O 操作、文字處理、影象、密碼學、網路和分散式應用程式等,並支援許多標準化的檔案格式和編解碼協議。
在 Windows 下,標準庫的位置在Go語言根目錄下的子目錄 pkg\windows_amd64 中;在 Linux 下,標準庫在Go語言根目錄下的子目錄 pkg\linux_amd64 中(如果是安裝的是 32 位,則在 linux_386 目錄中)。一般情況下,標準包會存放在 $GOROOT/pkg/$GOOS_$GOARCH/ 目錄下。
Go語言的編譯器也是標準庫的一部分,通過詞法器掃描原始碼,使用語法樹獲得原始碼邏輯分支等。Go語言的周邊工具也是建立在這些標準庫上。在標準庫上可以完成幾乎大部分的需求。
Go語言的標準庫以包的方式提供支援,下表列出了Go語言標準庫中常見的包及其功能。
Go語言標準庫包名 | 功 能 |
---|---|
bufio | 帶緩衝的 I/O 操作 |
bytes | 實現位元組操作 |
container | 封裝堆、列表和環形列表等容器 |
crypto | 加密演算法 |
database | 資料庫驅動和介面 |
debug | 各種除錯檔案格式訪問及除錯功能 |
encoding | 常見演算法如 JSON、XML、Base64 等 |
flag | 命令列解析 |
fmt | 格式化操作 |
go | Go語言的詞法、語法樹、型別等。可通過這個包進行程式碼資訊提取和修改 |
html | HTML 轉義及模板系統 |
image | 常見圖形格式的訪問及生成 |
io | 實現 I/O 原始訪問介面及訪問封裝 |
math | 數學庫 |
net | 網路庫,支援 Socket、HTTP、郵件、RPC、SMTP 等 |
os | 作業系統平臺不依賴平臺操作封裝 |
path | 相容各作業系統的路徑操作實用函式 |
plugin | Go 1.7 加入的外掛系統。支援將程式碼編譯為外掛,按需載入 |
reflect | 語言反射支援。可以動態獲得程式碼中的型別資訊,獲取和修改變數的值 |
regexp | 正則表示式封裝 |
runtime | 執行時介面 |
sort | 排序介面 |
strings | 字串轉換、解析及實用函式 |
time | 時間介面 |
text | 文字模板及 Token 詞法器 |
當然,優秀第三方資源也是語言生態圈的重要組成部分。近年來崛起的幾門語言中,Go 算是獨樹一幟,大批優秀作品頻繁湧現,這也給我們學習 Go 提供了很好的參照。