go語言怎么設置包,go語言打包

golang中自定義包

golang中默認以文件夾名作為包名,導入的文件的路徑為$GOPATH/src

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

例如我們在 $GOPATH/src下面建立一個gopackage的一個文件夾,下面建立一個abc.go的文件,文件內容如下

則我們在包外部使用gopackage包中的函數(shù)時,導入格式是這樣的:

我們在abc.go文件中需要導出的函數(shù)的首字母都是大寫的,這是因為 只有首字母大寫的標識符才可以導出 ,mutiply(int,int)int函數(shù)不可以被導出,編譯失敗。

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

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

則在外部導入是,golang會自動為該包提供別名

Go語言版本控制及包依賴管理

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

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

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

包名本質上是所在目錄的名稱,我們在基礎知識演示用例中進行擴展,進一步理解包名,執(zhí)行前需要執(zhí)行的命令請參考上一節(jié),首先來看一下目錄結構:

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

我們回到使用的主函數(shù)中,我們在主函數(shù)中引入"subpackage/sub",而調用中直接使用了文件名稱myfunc

執(zhí)行的結果如下

4.1 Go語言中包(Packages)基礎知識

先看一下目錄結構,注意這里的src名稱是必須的,go在設置了GOPATH后,默認會添加src去尋找package,暫未查詢是否有方法不按照src查詢

根據(jù)上面的描述,Go語言中通過包中函數(shù)的名稱來區(qū)分公共函數(shù)和私有函數(shù),我們在main函數(shù)中是無法調用myPrivateFunc的

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

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

如果要使用gopath模式引用包,則需要關閉mod模式

設置GOPATH為當前路徑,即main.go所在的路徑

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

我們再次嘗試執(zhí)行代碼

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

Go語言中如何設置包的查找路徑

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

新手請問Go語言中包的問題

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

你 main.go 中需要 import 相應包

你 調用處需要帶上包前綴,比如 tempconv.FToC

分享題目:go語言怎么設置包,go語言打包
轉載源于:http://muchs.cn/article44/hcpcee.html

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

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化