如果我没有指定GOPATH,从哪里下载依赖项?

如果我没有指定GOPATH,从哪里下载依赖项?,go,go-modules,Go,Go Modules,新的围棋学习者,所以这可能是一个微不足道的问题。如果我正确理解了文档,go在一开始就使用了GOPATH,每个依赖项和源代码都需要在这个GOPATH中,但在1.1.1 go之后,go切换到使用go模块,这与其他语言一样 现在,如果我在我的bashrc/bash_配置文件或任何地方都不指定GOPATH,我现在可以执行go init mymod并编写一些代码,只需运行go build,它就会毫无问题地下载我正在使用的任何depdency包。我已尝试设置GOPATH,当设置GOPATH时,软件包会按预期

新的围棋学习者,所以这可能是一个微不足道的问题。如果我正确理解了文档,go在一开始就使用了
GOPATH
,每个依赖项和源代码都需要在这个GOPATH中,但在1.1.1 go之后,go切换到使用go模块,这与其他语言一样

现在,如果我在我的bashrc/bash_配置文件或任何地方都不指定GOPATH,我现在可以执行
go init mymod
并编写一些代码,只需运行
go build
,它就会毫无问题地下载我正在使用的任何depdency包。我已尝试设置
GOPATH
,当设置
GOPATH
时,软件包会按预期下载到我的GOPATH,但如果没有
GOPATH
,这仍然有效。但我不确定这些依赖项是从哪里下载的


你能给我解释一下这里发生了什么事吗?在这种情况下,从何处下载依赖项包?

引用自

如果环境变量未设置,GOPATH默认为用户主目录中名为“go”的子目录((Unix上为$home/go,%USERPROFILE%\go,Windows上为%),除非该目录包含go分发。运行“go env GOPATH”查看当前GOPATH


“在这种情况下,依赖项包是在哪里下载的?”仍然是GPATH的默认值。但实际上这并不重要,在下一版本的Go中可能会有所不同。go工具透明地下载和使用这些依赖项。