站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        go語(yǔ)言有哪些包

        go語(yǔ)言的包: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等等。

        go語(yǔ)言有哪些包

        本教程操作環(huán)境:windows10系統(tǒng)、GO 1.11.2、Dell G3電腦。

        Go 語(yǔ)言的源碼復(fù)用建立在包(package)基礎(chǔ)之上。Go 語(yǔ)言的入口 main() 函數(shù)所在的包(package)叫 main,main 包想要引用別的代碼,必須同樣以包的方式進(jìn)行引用,本章內(nèi)容將詳細(xì)講解如何導(dǎo)出包的內(nèi)容及如何導(dǎo)入其他包。

        Go 語(yǔ)言的包與文件夾一一對(duì)應(yīng),所有與包相關(guān)的操作,必須依賴于工作目錄(GOPATH)。

        標(biāo)準(zhǔn)的Go語(yǔ)言代碼庫(kù)中包含了大量的包,并且在安裝 Go 的時(shí)候多數(shù)會(huì)自動(dòng)安裝到系統(tǒng)中。我們可以在 $GOROOT/src/pkg 目錄中查看這些包。下面簡(jiǎn)單介紹一些我們開(kāi)發(fā)中常用的包。

        1) fmt

        fmt 包實(shí)現(xiàn)了格式化的標(biāo)準(zhǔn)輸入輸出,這與C語(yǔ)言中的 printf 和 scanf 類似。其中的 fmt.Printf() 和 fmt.Println() 是開(kāi)發(fā)者使用最為頻繁的函數(shù)。

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

        • %v:默認(rèn)格式的值。當(dāng)打印結(jié)構(gòu)時(shí),加號(hào)(%+v)會(huì)增加字段名;

        • %#v:Go樣式的值表達(dá);

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

        2) io

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

        3) bufio

        bufio 包通過(guò)對(duì) io 包的封裝,提供了數(shù)據(jù)緩沖功能,能夠一定程度減少大塊數(shù)據(jù)讀寫帶來(lái)的開(kāi)銷。

        在 bufio 各個(gè)組件內(nèi)部都維護(hù)了一個(gè)緩沖區(qū),數(shù)據(jù)讀寫操作都直接通過(guò)緩存區(qū)進(jìn)行。當(dāng)發(fā)起一次讀寫操作時(shí),會(huì)首先嘗試從緩沖區(qū)獲取數(shù)據(jù),只有當(dāng)緩沖區(qū)沒(méi)有數(shù)據(jù)時(shí),才會(huì)從數(shù)據(jù)源獲取數(shù)據(jù)更新緩沖。

        4) sort

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

        5) strconv

        strconv 包提供了將字符串轉(zhuǎn)換成基本數(shù)據(jù)類型,或者從基本數(shù)據(jù)類型轉(zhuǎn)換為字符串的功能。

        6) os

        os 包提供了不依賴平臺(tái)的操作系統(tǒng)函數(shù)接口,設(shè)計(jì)像 Unix 風(fēng)格,但錯(cuò)誤處理是 go 風(fēng)格,當(dāng) os 包使用時(shí),如果失敗后返回錯(cuò)誤類型而不是錯(cuò)誤數(shù)量。

        7) sync

        sync 包實(shí)現(xiàn)多線程中鎖機(jī)制以及其他同步互斥機(jī)制。

        8) flag

        flag 包提供命令行參數(shù)的規(guī)則定義和傳入?yún)?shù)解析的功能。絕大部分的命令行程序都需要用到這個(gè)包。

        9) encoding/json

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

        10) html/template

        主要實(shí)現(xiàn)了 web 開(kāi)發(fā)中生成 html 的 template 的一些函數(shù)。

        11) net/http

        net/http 包提供 HTTP 相關(guān)服務(wù),主要包括 http 請(qǐng)求、響應(yīng)和 URL 的解析,以及基本的 http 客戶端和擴(kuò)展的 http 服務(wù)。

        通過(guò) net/http 包,只需要數(shù)行代碼,即可實(shí)現(xiàn)一個(gè)爬蟲或者一個(gè) Web 服務(wù)器,這在傳統(tǒng)語(yǔ)言中是無(wú)法想象的。

        12) reflect

        reflect 包實(shí)現(xiàn)了運(yùn)行時(shí)反射,允許程序通過(guò)抽象類型操作對(duì)象。通常用于處理靜態(tài)類型 interface{} 的值,并且通過(guò) Typeof 解析出其動(dòng)態(tài)類型信息,通常會(huì)返回一個(gè)有接口類型 Type 的對(duì)象。

        13) os/exec

        os/exec 包提供了執(zhí)行自定義 linux 命令的相關(guān)實(shí)現(xiàn)。

        14) strings

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

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

        15) bytes

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

        16) log

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

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

        • Print 是普通輸出;

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

        • Panic 是在執(zhí)行完 Print 后調(diào)用 panic() 方法。

        推薦學(xué)習(xí):Golang教程

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 四虎4hu永久免费国产精品| 国产成人精品高清在线观看93| 影院无码人妻精品一区二区| 色综合久久精品中文字幕首页| 人妻少妇精品视频二区| 精品国产黑色丝袜高跟鞋| 久久99精品国产99久久| 欧美精品黑人粗大免费| 亚州日韩精品专区久久久| 99久久夜色精品国产网站| 国产精品亚洲片在线| 午夜DY888国产精品影院| 日本精品少妇一区二区三区| 国产VA免费精品高清在线| 国产精品久久久久久久| 精品亚洲成a人片在线观看| 亚洲情侣偷拍精品| 久久99精品久久久久久水蜜桃| 国产高清在线精品一区二区| 你懂的国产精品| 国产成人精品久久一区二区三区| 无码精品人妻一区二区三区免费看| 欧美国产精品va在线观看| 精品国产人成亚洲区| 国产精品欧美久久久久天天影视| 四虎在线精品视频一二区| 久久96国产精品久久久| 国产精品亚洲午夜一区二区三区| 99久久99久久精品免费看蜜桃| 国产网红无码精品视频| 国产乱人伦偷精品视频AAA| 国自产偷精品不卡在线| 久久99热只有频精品8| 国产在线精品无码二区 | 国自产精品手机在线观看视频| 国产成人精品久久一区二区三区av | 国产精品户外野外| 国产精品无码一区二区在线观一| 99久久亚洲综合精品成人| 国产精品无码久久久久| 精品国产亚洲男女在线线电影|