欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語(yǔ)言怎么設(shè)置包,go語(yǔ)言打包

golang中自定義包

golang中默認(rèn)以文件夾名作為包名,導(dǎo)入的文件的路徑為$GOPATH/src

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鄂爾多斯企業(yè)網(wǎng)站建設(shè),鄂爾多斯品牌網(wǎng)站建設(shè),網(wǎng)站定制,鄂爾多斯網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,鄂爾多斯網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

例如我們?cè)?$GOPATH/src下面建立一個(gè)gopackage的一個(gè)文件夾,下面建立一個(gè)abc.go的文件,文件內(nèi)容如下

則我們?cè)诎獠渴褂胓opackage包中的函數(shù)時(shí),導(dǎo)入格式是這樣的:

我們?cè)赼bc.go文件中需要導(dǎo)出的函數(shù)的首字母都是大寫的,這是因?yàn)?只有首字母大寫的標(biāo)識(shí)符才可以導(dǎo)出 ,mutiply(int,int)int函數(shù)不可以被導(dǎo)出,編譯失敗。

當(dāng)我們使用多個(gè)自定義包時(shí)如果發(fā)生沖突,怎么辦呢,我們可以給不同的包提供不同的別名

如果abc.go文件中包名不是文件夾的名字,如

則在外部導(dǎo)入是,golang會(huì)自動(dòng)為該包提供別名

Go語(yǔ)言版本控制及包依賴管理

這個(gè)文件通過(guò)路徑標(biāo)識(shí) rsc.io/hello 定義了一個(gè)模塊,它本身還依賴于兩個(gè)其他模塊:golang.org/x/text 和 rsc.io/quote ,這個(gè)模塊自身編譯的時(shí)候使用的是 go.mod 文件中指定的依賴列表的版本。對(duì)于更上一層的編譯,其他導(dǎo)入這個(gè)模塊的地方將使用它較新的版本編譯。

包發(fā)布者最好使用語(yǔ)義化的 tag 發(fā)布版本,vgo 也鼓勵(lì)通過(guò)打tag的版本號(hào)方式,而不是任意的提交版本。

4.2 Go語(yǔ)言中包(Packages)的命名

包名本質(zhì)上是所在目錄的名稱,我們?cè)诨A(chǔ)知識(shí)演示用例中進(jìn)行擴(kuò)展,進(jìn)一步理解包名,執(zhí)行前需要執(zhí)行的命令請(qǐng)參考上一節(jié),首先來(lái)看一下目錄結(jié)構(gòu):

此時(shí),如果我們想使用subpackage/sub/subfunc.go時(shí),需要import的是subpackage/sub,而不是subpackage/sub/subfunc,來(lái)看具體的實(shí)現(xiàn):

我們回到使用的主函數(shù)中,我們?cè)谥骱瘮?shù)中引入"subpackage/sub",而調(diào)用中直接使用了文件名稱myfunc

執(zhí)行的結(jié)果如下

4.1 Go語(yǔ)言中包(Packages)基礎(chǔ)知識(shí)

先看一下目錄結(jié)構(gòu),注意這里的src名稱是必須的,go在設(shè)置了GOPATH后,默認(rèn)會(huì)添加src去尋找package,暫未查詢是否有方法不按照src查詢

根據(jù)上面的描述,Go語(yǔ)言中通過(guò)包中函數(shù)的名稱來(lái)區(qū)分公共函數(shù)和私有函數(shù),我們?cè)趍ain函數(shù)中是無(wú)法調(diào)用myPrivateFunc的

此時(shí)如果執(zhí)行通過(guò)go run方式執(zhí)行,會(huì)看到如下的提示信息,這與大部分語(yǔ)言對(duì)于包管理方式相關(guān),所以我們通過(guò)兩種不同的方法來(lái)讓代碼執(zhí)行起來(lái)

返回如下,這里面對(duì)我們后續(xù)執(zhí)行有影響的兩個(gè)參數(shù)GO111MODULE和GOPATH

如果要使用gopath模式引用包,則需要關(guān)閉mod模式

設(shè)置GOPATH為當(dāng)前路徑,即main.go所在的路徑

此時(shí)再查看go env時(shí),GOPATH已經(jīng)發(fā)生改變

我們?cè)俅螄L試執(zhí)行代碼

可以看到public函數(shù)被調(diào)用

Go語(yǔ)言中如何設(shè)置包的查找路徑

二進(jìn)制包安裝的話:如果安裝在了默認(rèn)位置例如/usr/local/go (Windows系統(tǒng):c:\Go)這個(gè)時(shí)候可以不需要設(shè)置GOROOT,如果改變了安裝的這個(gè)默認(rèn)目錄,那么就需要設(shè)置GOROOTGOROOT的概念有點(diǎn)Go安裝目錄的意思GOPATH是一個(gè)開發(fā)環(huán)境目錄的意思,下面必須包含bin、pkg、src,然后再src下面新建項(xiàng)目就可以了你在沒有設(shè)置GOPATH的情況下,也可以把項(xiàng)目建在GOROOT/src下面,其實(shí)和GOPATH的概念類似

新手請(qǐng)問(wèn)Go語(yǔ)言中包的問(wèn)題

你需要設(shè)置 GOPATH 環(huán)境變量

你 main.go 中需要 import 相應(yīng)包

你 調(diào)用處需要帶上包前綴,比如 tempconv.FToC

分享題目:go語(yǔ)言怎么設(shè)置包,go語(yǔ)言打包
轉(zhuǎn)載源于:http://chinadenli.net/article44/hcpcee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)企業(yè)建站建站公司靜態(tài)網(wǎng)站商城網(wǎng)站定制網(wǎng)站

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化