您的当前位置:首页正文

Go一定要理解的环境概念

2024-11-26 来源:个人技术集锦

输入go env会出现一系列GO相关的环境变量,其中几个重要的

go env
GOPATH=d:\go
GOROOT=f:\go
GO111MODULE=on

GOROOT

GOROOT就是我们Go语言的安装路径。我这里是 GOROOT=f:\go
打开这个文件夹,可以看到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

src, bin, pkg三个文件夹,
标准的Go语言代码库中包含了大量的包,并且在安装 Go 的时候多数会自动安装到系统中。我们可以在

$GOROOT/src
$GOROOT/pkg

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GOPATH

对于多项目来说,需要设置多个GOPATH来满足需求

1、 当执行golang程序,需要获取import的包时,编译器回先去GOROOT路径下的src文件夹找有没有我们在程序中import的包
2、如果在GOROOT下没有找到,就会去GOPATH下src下找这个包

所以只要GOROOT跟GOPATH下都没找到包的话就会报错

使用GOPATH的工程结构

gopath缺陷

GOPATH 很大的缺点,就是相关第三方包只要不是官方库,都需要放置在GOPATH/src的路径下才可使用。通常我们会使用go get指令来获取网络上的第三方包,并安装到本地。而且还缺少版本管理

GO Module

这个需要独立出来成一篇文章

显示全文