golang中默認(rèn)以文件夾名作為包名,導(dǎo)入的文件的路徑為$GOPATH/src
成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元桂陽做網(wǎng)站,已為上家服務(wù),為桂陽各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
例如我們?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)為該包提供別名
package?p2
//整數(shù)變量
var?Pack1Int?int?=?42
//浮點(diǎn)變量
var?PackFloat?=?3.14
//簡(jiǎn)單函數(shù)
func?ReturnStr()?string?{
return?"Hello?main!"
}
package?main
import?(
"./p2"
"fmt"
)
//程序入口
func?main()?{
//定義一個(gè)變量
var?test1?string
//接收p2包中函數(shù)的返回值
test1?=?p2.ReturnStr()
//打印函數(shù)返回值
fmt.Println("------haliluya---------",?test1)
//打印變量
fmt.Println("------haliluya---------",?p2.Pack1Int)
fmt.Println("------haliluya---------",?p2.PackFloat)
}
p2.ReturnStr()? 通過包名調(diào)用
mian.go調(diào)用名為"pk"的包
所有文件都在項(xiàng)目目錄"projectfile"下,其中本地包"pk"的文件在"package"目錄下。
使用go mod進(jìn)行依賴包的管理,因此注意項(xiàng)目根目錄下是否有g(shù)o.mod,沒有的一定要先go mod init 項(xiàng)目名稱。
import引用時(shí),go.mod把所在目錄作為根目錄,填寫路徑時(shí)把相對(duì)路徑寫在s5后面。
1.先把要導(dǎo)入的包go build - go install
2.接著在要導(dǎo)入的方法中以: 項(xiàng)目名 / 導(dǎo)入的文件名 ?的形式導(dǎo)入即可(如下方test(項(xiàng)目名) / chiid(文件名))
當(dāng)嘗試了網(wǎng)上所有方法,仍然發(fā)現(xiàn)在主文件.go中或者在其他地方引用自定義包時(shí),自動(dòng)刪除導(dǎo)入的包的情況解決如下:
如你存放地址的包在src/xxx.com中時(shí)請(qǐng)通過命令行進(jìn)入這個(gè)文件夾的位置
然后執(zhí)行g(shù)o mod init xxx.com/m/v1回車
上述的.../m/v1隨便,這個(gè)是按照官方的建議這么寫的方便維護(hù)版本吧?!
再次嘗試引入自定義包,引用方式如下:
xxx.com/m/v1
|_test
| |_test.go
|_main.go
import (
"fmt"
"xxx.com/m/v1/test"
)
獻(xiàn)給被折磨許久的小伙伴們。。。
本文標(biāo)題:go語言導(dǎo)入自帶包,go語言導(dǎo)入自定義包
URL標(biāo)題:http://m.kartarina.com/article18/heidgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、商城網(wǎng)站、App設(shè)計(jì)、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(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)