這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹golang中導(dǎo)入包的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

import
Go 使用包(package)作為基本單元來組織源代碼,所有語法可見性均定義在 package 這個(gè)級(jí)別。同一 package 下面,可以有非常多的不同文件,只要每個(gè)文件屬于相同的 package name。
每個(gè)源碼文件的第一行必定要通過如下語法定義屬于哪個(gè) package,
package xxx
然后就是導(dǎo)入本源碼文件所使用的標(biāo)準(zhǔn)包或第三方包,即
import (
"a/b/c"
"fmt"
)標(biāo)準(zhǔn)庫會(huì)從 GO 的安裝目錄下查找,第三方庫會(huì)從開發(fā)者定義的 $GOPATH 下查找。當(dāng)都找不到時(shí),編譯器就會(huì)報(bào)錯(cuò)。在使用第三方包的時(shí)候,當(dāng)源碼和 .a 均已安裝的情況下,編譯器鏈接的是源碼。
注意: 上面語句中 a/b/c 最后的 c 為目錄名,不是 package name。
在對(duì)文件中的方法進(jìn)行調(diào)用時(shí),使用如下格式:
package.Methodxxx()
同一文件夾下的多個(gè)文件的 package 一般定義為該文件夾的名字,但是也有例外,比如上面的栗子中,c 文件下的所有文件的 package 定義為 fux,那么在調(diào)用這個(gè)文件夾下文件的方法時(shí),只能使用 fux.Methodxxx(),而不是 c..Methodxxx()
一個(gè)非main包在編譯后會(huì)生成一個(gè).a文件(在臨時(shí)目錄下生成,除非使用go install安裝到 $GOROOT 或 $GOPATH下,否則你看不到 .a),用于后續(xù)可執(zhí)行程序鏈接使用。
vendor
Go 在 1.5 的版本加入的 vendor 的支持來做包管理。1.5 版本要設(shè)置 GO15VENDOREXPERIMENT="1" 來支持這個(gè)特性,1.6版本將其作為默認(rèn)參數(shù)配置。下面對(duì)于包含 vendor 目錄的包導(dǎo)入路徑規(guī)則大致如下。
├── d
├── mypkg
| └── main.go
└── vendor
└── q
├── q.go當(dāng)上述目錄結(jié)構(gòu),在 main.go 中 import q時(shí),后首先從 vendor 目錄下查找,若找不到,會(huì)從 $GOPATH 目錄下查找,再找不到的話,編譯器就報(bào)錯(cuò)了。
看完這篇文章,你們學(xué)會(huì)golang中導(dǎo)入包的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。
網(wǎng)頁名稱:golang中導(dǎo)入包的方法-創(chuàng)新互聯(lián)
文章鏈接:http://chinadenli.net/article30/eocso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、微信公眾號(hào)、電子商務(wù)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容