$GOPATH 是我们的工作空间,保存go项目代码和第三方依赖包,GOPATH可以设置多个,其中,第一个将会是默认的包目录,使用 go get 下载的包都会在第一个path中的src目录下,使用 go install时,在哪个GOPATH中找到了这个包,就会在哪个GOPATH下的bin目录生成可执行文件。
|-- bin|-- pkg
`-- src
src:存放源代码,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)
pkg:编译时生成的中间文件
bin:编译后生成的可执行文件(在项目内执行go install,会把执行文件安装到bin目录)(为了方便,可以把此目录加入到 P A T H 变 量 中 , 如 果 有 多 个 g o p a t h , 那 么 使 用 PATH 变量中,如果有多个gopath,那么使用PATH变量中,如果有多个gopath,那么使用{GOPATH//?/bin:}/bin添加所有的bin目录
$GOROOT 是Go的安装目录,(类似于java的JDK)
|-- api
|-- AUTHORS
|-- bin
|-- blog
|-- CONTRIBUTING.md
|-- CONTRIBUTORS
|-- doc
|-- favicon.ico
|-- lib
|-- LICENSE
|-- misc
|-- PATENTS
|-- pkg
|-- README.md
|-- robots.txt
|-- src
|-- test
`-- VERSION
go找第三方库或包的时候先去goroot下找,然后去gopath下面找。
可执行go env查看go的所有配置信息:
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


