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

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),畢節(jié)企業(yè)網(wǎng)站建設(shè),畢節(jié)品牌網(wǎng)站建設(shè),網(wǎng)站定制,畢節(jié)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,畢節(jié)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1) fmt
fmt 包實(shí)現(xiàn)了格式化的標(biāo)準(zhǔn)輸入輸出,這與C語(yǔ)言中的 printf 和 scanf 類(lèi)似。其中的 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:帶有類(lèi)型的 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ù)讀寫(xiě)帶來(lái)的開(kāi)銷(xiāo)。
在 bufio 各個(gè)組件內(nèi)部都維護(hù)了一個(gè)緩沖區(qū),數(shù)據(jù)讀寫(xiě)操作都直接通過(guò)緩存區(qū)進(jìn)行。當(dāng)發(fā)起一次讀寫(xiě)操作時(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ù)類(lèi)型,或者從基本數(shù)據(jù)類(lèi)型轉(zhuǎn)換為字符串的功能。
6) os
os 包提供了不依賴平臺(tái)的操作系統(tǒng)函數(shù)接口,設(shè)計(jì)像 Unix 風(fēng)格,但錯(cuò)誤處理是 go 風(fēng)格,當(dāng) os 包使用時(shí),如果失敗后返回錯(cuò)誤類(lèi)型而不是錯(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è)爬蟲(chóng)或者一個(gè) Web 服務(wù)器,這在傳統(tǒng)語(yǔ)言中是無(wú)法想象的。
12) reflect
reflect 包實(shí)現(xiàn)了運(yùn)行時(shí)反射,允許程序通過(guò)抽象類(lèi)型操作對(duì)象。通常用于處理靜態(tài)類(lèi)型 interface{} 的值,并且通過(guò) Typeof 解析出其動(dòng)態(tài)類(lèi)型信息,通常會(huì)返回一個(gè)有接口類(lèi)型 Type 的對(duì)象。
13) os/exec
os/exec 包提供了執(zhí)行自定義 linux 命令的相關(guān)實(shí)現(xiàn)。
14) strings
strings 包主要是處理字符串的一些函數(shù)集合,包括合并、查找、分割、比較、后綴檢查、索引、大小寫(xiě)處理等等。
strings 包與 bytes 包的函數(shù)接口功能基本一致。
15) bytes
bytes 包提供了對(duì)字節(jié)切片進(jìn)行讀寫(xiě)操作的一系列函數(shù)。字節(jié)切片處理的函數(shù)比較多,分為基本處理函數(shù)、比較函數(shù)、后綴檢查函數(shù)、索引函數(shù)、分割函數(shù)、大小寫(xiě)處理函數(shù)和子切片處理函數(shù)等。
16) log
log 包主要用于在程序中輸出日志。
log 包中提供了三類(lèi)日志輸出接口,Print、Fatal 和 Panic。
- Print 是普通輸出;
- Fatal 是在執(zhí)行完 Print 后,執(zhí)行 os.Exit(1);
- Panic 是在執(zhí)行完 Print 后調(diào)用 panic() 方法。
網(wǎng)站題目:創(chuàng)新互聯(lián)GO教程:Go語(yǔ)言常用內(nèi)置包簡(jiǎn)介
URL地址:http://m.5511xx.com/article/cocgseo.html


咨詢
建站咨詢
