如果我不指定 GOPATH,去哪里下载我的依赖项?

Where does go download my dependencies if I do not specify GOPATH?

Go 新手,所以这可能是一个微不足道的问题。如果我对文档的理解正确的话,go 在开始时一直使用 GOPATH,并且每个依赖项和源代码都需要在这个 GOPATH 中,但是在 1.1.1 GO 之后切换到使用 Go 模块,这就像其他语言所做的那样。

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

你能给我解释一下这里发生了什么吗?这种情况下依赖包下载到哪里了?

引用自Command go: GOPATH environment variable:

If the environment variable is unset, GOPATH defaults to a subdirectory named "go" in the user's home directory ($HOME/go on Unix, %USERPROFILE%\go on Windows), unless that directory holds a Go distribution. Run "go env GOPATH" to see the current GOPATH.