中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言常用內置包是什么

發布時間:2023-01-14 09:28:05 來源:億速云 閱讀:132 作者:iii 欄目:編程語言

今天小編給大家分享一下Go語言常用內置包是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

常用內置包:1、fmt,可實現格式化的標準輸入輸出;2、io;3、bufio;4、sort;5、strconv;6、os;7、sync;8、flag;9、encoding/json;10、html/template;11、net/http;12、reflect;13、os/exec;14、strings;15、bytes;16、log;17、time;18、regexp。

Go 語言 的標準庫覆蓋網絡、系統、加密、編碼、圖形等各個方面,可以直接使用標準庫的 http 包進行 HTTP 協議的收發處理;網絡庫基于高性能的操作系統通信模型(Linux 的 epoll、Windows 的 IOCP);所有的加密、編碼都內建支持,不需要再從第三方開發者處獲取。

Go 語言的編譯器也是標準庫的一部分,通過詞法器掃描源碼,使用語法樹獲得源碼邏輯分支等。Go 語言的周邊工具也是建立在這些標準庫上。在標準庫上可以完成幾乎大部分的需求。

Golang 的內置包在安裝 Go 的時候多數會自動安裝到系統中。我們可以在 $GOROOT/src/pkg 目錄中查看這些包。

Go語言的常用內置包

1) fmt

fmt 包實現了格式化的標準輸入輸出,這與C語言中的 printf 和 scanf 類似。其中的 fmt.Printf() 和 fmt.Println() 是開發者使用最為頻繁的函數。

格式化短語派生于C語言,一些短語(%- 序列)是這樣使用:

  • %v:默認格式的值。當打印結構時,加號(%+v)會增加字段名;

  • %#v:Go樣式的值表達;

  • %T:帶有類型的 Go 樣式的值表達。

2) io

這個包提供了原始的 I/O 操作界面。它主要的任務是對 os 包這樣的原始的 I/O 進行封裝,增加一些其他相關,使其具有抽象功能用在公共的接口上。

3) bufio

bufio 包通過對 io 包的封裝,提供了數據緩沖功能,能夠一定程度減少大塊數據讀寫帶來的開銷。

在 bufio 各個組件內部都維護了一個緩沖區,數據讀寫操作都直接通過緩存區進行。當發起一次讀寫操作時,會首先嘗試從緩沖區獲取數據,只有當緩沖區沒有數據時,才會從數據源獲取數據更新緩沖。

4) sort

sort 包提供了用于對切片和用戶定義的集合進行排序的功能。

5) strconv

strconv 包提供了將字符串轉換成基本數據類型,或者從基本數據類型轉換為字符串的功能。

6) os

os 包提供了不依賴平臺的操作系統函數接口,設計像 Unix 風格,但錯誤處理是 go 風格,當 os 包使用時,如果失敗后返回錯誤類型而不是錯誤數量。

7) sync

sync 包實現多線程中鎖機制以及其他同步互斥機制。

8) flag

flag 包提供命令行參數的規則定義和傳入參數解析的功能。絕大部分的命令行程序都需要用到這個包。

9) encoding/json

JSON 目前廣泛用做網絡程序中的通信格式。encoding/json 包提供了對 JSON 的基本支持,比如從一個對象序列化為 JSON 字符串,或者從 JSON 字符串反序列化出一個具體的對象等。

10) html/template

主要實現了 web 開發中生成 html 的 template 的一些函數。

11) net/http

net/http 包提供 HTTP 相關服務,主要包括 http 請求、響應和 URL 的解析,以及基本的 http 客戶端和擴展的 http 服務。

通過 net/http 包,只需要數行代碼,即可實現一個爬蟲或者一個 Web 服務器,這在傳統語言中是無法想象的。

12) reflect

reflect 包實現了運行時反射,允許程序通過抽象類型操作對象。通常用于處理靜態類型 interface{} 的值,并且通過 Typeof 解析出其動態類型信息,通常會返回一個有接口類型 Type 的對象。

13) os/exec

os/exec 包提供了執行自定義 linux 命令的相關實現。

14) strings

strings 包主要是處理字符串的一些函數集合,包括合并、查找、分割、比較、后綴檢查、索引、大小寫處理等等。

strings 包與 bytes 包的函數接口功能基本一致。

15) bytes

bytes 包提供了對字節切片進行讀寫操作的一系列函數。字節切片處理的函數比較多,分為基本處理函數、比較函數、后綴檢查函數、索引函數、分割函數、大小寫處理函數和子切片處理函數等。

16) log

log 包主要用于在程序中輸出日志。

log 包中提供了三類日志輸出接口,Print、Fatal 和 Panic。

Print 是普通輸出;

  • Fatal 是在執行完 Print 后,執行 os.Exit(1);

  • Panic 是在執行完 Print 后調用 panic() 方法。

17)time

time 包主要用于與時間相關的操作,比如格式化時間、將時間轉換為時間戳,將時間戳轉換為時間字符串等操作。

18)regexp

對正則表達式的封裝。

以上就是“Go語言常用內置包是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

房产| 铅山县| 清原| 裕民县| 农安县| 安陆市| 富源县| 定日县| 察隅县| 营山县| 宁德市| 桐乡市| 柳河县| 延安市| 湖口县| 南平市| 阿坝| 华坪县| 广饶县| 张家口市| 宁强县| 宁陵县| 友谊县| 广州市| 乌拉特中旗| 文化| 湖南省| 曲靖市| 梨树县| 武汉市| 醴陵市| 祥云县| 内江市| 揭阳市| 齐河县| 灵山县| 沐川县| 恩平市| 邹城市| 沙洋县| 齐齐哈尔市|