此處只使用go mod方式進行本地的包管理,不使用GOROOT的方式。GO版本1.11后自帶,無需另外下載
開啟go mod
安裝GO后,設置下面環境變量,用以啟用go mod:
go env -w GOBIN=/Users/youdi/go/bin //go安裝目錄的bin文件夾
go env -w GO111MODULE=on
/**鏡像加速,下列任選一個*/
go env -w GOPROXY=https://goproxy.cn,direct // 使用七牛雲的
go env -w GOPROXY=https://goproxy.io,direct// 全球代理
使用go mod
使用命令go mod init app_name
初始化項目結構,app_name建議與文件夾名一致,但不強制要求。主要后面引用自定義包時,需要帶上該名稱,避免遺忘還是建議與文件夾名一致。
使用命令go mod vendor
建立vendor文件夾,並將依賴復制到該文件夾(注意:三方包要在項目中被引用,才會復制過來)
此時,使用go get
命令下載的依賴包,會自動保存到$GOPATH/pkg/mod
下,每下載一個依賴,執行go mod vendor
將依賴復制到vendor目錄下
如果使用自定義的包,GO不支持文件路徑的引用形式,例如./
或../
。如需使用,請以app_name開頭
,例如如下結構中:
my_app
|_ my
| |_ my.go
|_ main.go
在main.go
中希望使用package my中的方法或變量時,引用方式為import "my_app/my"
,並且方法或變量的首字母要為大寫