您好,登錄后才能下訂單哦!
標(biāo)準(zhǔn)庫
Go語言的標(biāo)準(zhǔn)庫覆蓋網(wǎng)絡(luò)、系統(tǒng)、加密、編碼、圖形等各個方面,可以直接使用標(biāo)準(zhǔn)庫的 http 包進行 HTTP 協(xié)議的收發(fā)處理;網(wǎng)絡(luò)庫基于高性能的操作系統(tǒng)通信模型(Linux 的 epoll、Windows 的 IOCP);所有的加密、編碼都內(nèi)建支持,不需要再從第三方開發(fā)者處獲取
Go 語言的編譯器也是標(biāo)準(zhǔn)庫的一部分,通過詞法器掃描源碼,使用語法樹獲得源碼邏輯分支等。Go 語言的周邊工具也是建立在這些標(biāo)準(zhǔn)庫上。在標(biāo)準(zhǔn)庫上可以完成幾乎大部分的需求
像 fmt、os 等這樣具有常用功能的內(nèi)置包在 Go 語言中有 150 個以上,它們被稱為標(biāo)準(zhǔn)庫,大部分(一些底層的除外)內(nèi)置于 Go 本身。完整列表可以在 Go Walker 查看。
unsafe: 包含了一些打破 Go 語言“類型安全”的命令,一般的程序中不會被使用,可用在 C/C++ 程序的調(diào)用中。
syscall-os-os/exec:os: 提供給我們一個平臺無關(guān)性的操作系統(tǒng)功能接口,采用類Unix設(shè)計,隱藏了不同操作系統(tǒng)間差異,讓不同的文件系統(tǒng)和操作系統(tǒng)對象表現(xiàn)一致。
os/exec: 提供我們運行外部操作系統(tǒng)命令和程序的方式。syscall: 底層的外部包,提供了操作系統(tǒng)底層調(diào)用的基本接口。
通過一個 Go 程序讓Linux重啟來體現(xiàn)它的能力。
package main import ( "syscall" ) const LINUX_REBOOT_MAGIC1 uintptr = 0xfee1dead const LINUX_REBOOT_MAGIC2 uintptr = 672274793 const LINUX_REBOOT_CMD_RESTART uintptr = 0x1234567 func main() { syscall.Syscall(syscall.SYS_REBOOT, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART) }
archive/tar 和 /zip-compress:壓縮(解壓縮)文件功能。
fmt-io-bufio-path/filepath-flag:
fmt: 提供了格式化輸入輸出功能。
io: 提供了基本輸入輸出功能,大多數(shù)是圍繞系統(tǒng)功能的封裝。
bufio: 緩沖輸入輸出功能的封裝。
path/filepath: 用來操作在當(dāng)前系統(tǒng)中的目標(biāo)文件名路徑。
flag: 對命令行參數(shù)的操作。??
strings-strconv-unicode-regexp-bytes:
strings: 提供對字符串的操作。
strconv: 提供將字符串轉(zhuǎn)換為基礎(chǔ)類型的功能。
unicode: 為 unicode 型的字符串提供特殊的功能。
regexp: 正則表達式功能。
bytes: 提供對字符型分片的操作。
index/suffixarray: 子字符串快速查詢。
math-math/cmath-math/big-math/rand-sort:
math: 基本的數(shù)學(xué)函數(shù)。
math/cmath: 對復(fù)數(shù)的操作。
math/rand: 偽隨機數(shù)生成。
sort: 為數(shù)組排序和自定義集合。
math/big: 大數(shù)的實現(xiàn)和計算。 ??
container-/list-ring-heap: 實現(xiàn)對集合的操作。
list: 雙鏈表。
ring: 環(huán)形鏈表。
以上就是golang 哪些功能用標(biāo)準(zhǔn)庫的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。