Go Modules 中有三個模式:
- 默認模式(未設置該環境變量或
GO111MODULE=auto):Go 命令行工具在同時滿足以下兩個條件時使用 Go Modules:- 當前目錄不在 GOPATH/src/ 下;
- 在當前目錄或上層目錄中存在 go.mod 文件。
- GOPATH 模式(
GO111MODULE=off):Go 命令行工具從不使用 Go Modules。相反,它查找 vendor 目錄和 GOPATH 以查找依賴項。 - Go Modules 模式(
GO111MODULE=on):Go 命令行工具只使用 Go Modules,從不咨詢 GOPATH。GOPATH 不再作為導入目錄,但它仍然存儲下載的依賴項(GOPATH/pkg/mod/)和已安裝的命令(GOPATH/bin/),只移除了 GOPATH/src/。
Go 1.13 默認使用 Go Modules 模式,所以以上內容在 Go 1.13 發布並在生產環境中使用后都可以忽略。
Go 環境變量配置如下:

首先GoLang編輯器要設置開啟Go Moduleles 如下圖:

1.為GO Module創建不同級別目錄如:
LLj
LLj/hello
LLj/pack
截圖如下:

2.為將要編寫的代碼啟用依賴項跟蹤


3.在hello 目錄中,創建一個文件,編寫代碼並將其命名為start.go
package main
import "fmt"
import "pack"
func main() {
pack.Test()
fmt.Println("入口!!!")
}
此代碼中:
- 聲明一個
main包。在 Go 中,作為應用程序執行的代碼必須在main包中。 - 導入兩個包:pack
和fmt包. 這使您的代碼可以訪問這些包中的函數。導入 pack包,可以訪問該pack包下Test函數。導入fmt, 具有處理輸入和輸出文本的功能(例如將文本打印到控制台)。 - 通過調用pack包的 Test
函數打印到控制台。

4在pack 目錄中,創建一個文件,編寫代碼並將其命名為test.go
為將要編寫的代碼啟用依賴項跟蹤

package pack
import "fmt"
func Test() {
fmt.Println("Test!!!")
}

5.編輯hello模塊以使用本地 pack模塊
使用go mod edit命令編輯hello模塊,輸入本地模塊路徑
從 hello 目錄中的命令提示符運行以下命令:
go mod edit -replac pack=../pack //添加替換本地模塊路徑

在hello目錄的命令提示符下,運行go mod tidy命令來同步hello模塊的依賴項

6.在hello目錄的命令提示符下,運行代碼以確認它工作正常

