golang中默認以文件夾名作為包名,導入的文件的路徑為$GOPATH/src
成都創(chuàng)新互聯自2013年創(chuàng)立以來,是專業(yè)互聯網技術服務公司,擁有項目成都做網站、網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元桂陽做網站,已為上家服務,為桂陽各地企業(yè)和個人服務,聯系電話:13518219792
例如我們在 $GOPATH/src下面建立一個gopackage的一個文件夾,下面建立一個abc.go的文件,文件內容如下
則我們在包外部使用gopackage包中的函數時,導入格式是這樣的:
我們在abc.go文件中需要導出的函數的首字母都是大寫的,這是因為 只有首字母大寫的標識符才可以導出 ,mutiply(int,int)int函數不可以被導出,編譯失敗。
當我們使用多個自定義包時如果發(fā)生沖突,怎么辦呢,我們可以給不同的包提供不同的別名
如果abc.go文件中包名不是文件夾的名字,如
則在外部導入是,golang會自動為該包提供別名
package?p2
//整數變量
var?Pack1Int?int?=?42
//浮點變量
var?PackFloat?=?3.14
//簡單函數
func?ReturnStr()?string?{
return?"Hello?main!"
}
package?main
import?(
"./p2"
"fmt"
)
//程序入口
func?main()?{
//定義一個變量
var?test1?string
//接收p2包中函數的返回值
test1?=?p2.ReturnStr()
//打印函數返回值
fmt.Println("------haliluya---------",?test1)
//打印變量
fmt.Println("------haliluya---------",?p2.Pack1Int)
fmt.Println("------haliluya---------",?p2.PackFloat)
}
p2.ReturnStr()? 通過包名調用
mian.go調用名為"pk"的包
所有文件都在項目目錄"projectfile"下,其中本地包"pk"的文件在"package"目錄下。
使用go mod進行依賴包的管理,因此注意項目根目錄下是否有go.mod,沒有的一定要先go mod init 項目名稱。
import引用時,go.mod把所在目錄作為根目錄,填寫路徑時把相對路徑寫在s5后面。
1.先把要導入的包go build - go install
2.接著在要導入的方法中以: 項目名 / 導入的文件名 ?的形式導入即可(如下方test(項目名) / chiid(文件名))
當嘗試了網上所有方法,仍然發(fā)現在主文件.go中或者在其他地方引用自定義包時,自動刪除導入的包的情況解決如下:
如你存放地址的包在src/xxx.com中時請通過命令行進入這個文件夾的位置
然后執(zhí)行go mod init xxx.com/m/v1回車
上述的.../m/v1隨便,這個是按照官方的建議這么寫的方便維護版本吧?!
再次嘗試引入自定義包,引用方式如下:
xxx.com/m/v1
|_test
| |_test.go
|_main.go
import (
"fmt"
"xxx.com/m/v1/test"
)
獻給被折磨許久的小伙伴們。。。
本文標題:go語言導入自帶包,go語言導入自定義包
URL標題:http://chinadenli.net/article18/heidgp.html
成都網站建設公司_創(chuàng)新互聯,為您提供服務器托管、商城網站、App設計、企業(yè)網站制作、網站建設、企業(yè)建站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯