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