咱們都知道在使用Golang時開發程序時都須要在 GOPATH
下面,這就很是不方便。若是你想放在磁盤上的其餘地方,那麼go mod將是你的「好夥伴」。git
關於 go mod 的說明,能夠參考:github
➜ ~ go mod Go mod provides access to operations on modules. Note that support for modules is built into all the go commands, not just 'go mod'. For example, day-to-day adding, removing, upgrading, and downgrading of dependencies should be done using 'go get'. See 'go help modules' for an overview of module functionality. Usage: go mod <command> [arguments] The commands are: download download modules to local cache 下載依賴的 module 到本地 cache edit edit go.mod from tools or scripts 編輯 go.mod graph print module requirement graph 打印模塊依賴圖 init initialize new module in current directory 在當前目錄下初始化 go.mod(就是會新建一個 go.mod 文件) tidy add missing and remove unused modules 整理依賴關係,會添加丟失的 module,刪除不須要的 module vendor make vendored copy of dependencies 將依賴複製到 vendor 下 verify verify dependencies have expected content 校驗依賴 why explain why packages or modules are needed 解釋爲何須要依賴 Use " go help mod <command>" for more information about a command.
set GO111MODULE=ON
go mod init
在當前目錄下生成一個go.mod
文件,若是以前有生成過須要刪除再初始化執行完上面步驟基本就完成了,運行下程序你會發現目錄下多了一個go.sum
文件,是用來記錄所依賴的版本的鎖定golang
執行命令go mod verify
命令來檢查當前模塊的依賴是否所有下載下來,是否下載下來被修改過。若是全部的模塊都沒有被修改過,那麼執行這條命令以後,會打印all modules verified
。ide
使用go mod
後你會發如今GOPATH
下面的pkg
目錄會有一個mod
目錄,裏面包含了項目須要的依賴包,這也是爲何不須要再GOPATH
中開發程序也能使用的緣由ui