摘要: 本文主要是李文周的博客(Go语言学习之路)的目录版,整理一下,方便自己后期使用的时候快速回顾。地址:https://www.liwenzhou.com/posts/Go/install_go_dev/
GOPATH:
GOPATH
是一个环境变量,用来表明你写的go项目的存放路径(工作目录)。
GOPATH
路径最好只设置一个,所有的项目代码都放到GOPATH
的src
目录下。
后面
GOROOT:
就是go的安装路径,
需要将其中的%GOROOT%\bin配置到PATH路径中,从而系统可以找到go的编译器等执行命令
GOPATH在不同操作系统平台上的默认值
平台 | GOPATH默认值 | 举例 |
---|---|---|
windows | %Userprofile%/go | C:\users\用户名\go |
Unix | $HOME/go | /home/用户名/go |
同时,我们将 GOROOT
下的bin目录及GOPATH
下的bin目录都添加到环境变量中。
配置环境变量之后需要重启你电脑上已经打开的终端。(例如cmd、VS Code里面的终端和其他编辑器的终端)。
Go项目结构
在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src
目录下。在工程经过go build
、go install
或go get
等指令后,会将下载的第三方包源代码文件放在$GOPATH/src
目录下, 产生的二进制可执行文件放在 $GOPATH/bin
目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg
下。
如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src
目录的源代码即可。bin
和 pkg
目录的内容无需版本控制。
目前流行的项目结构
Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名
来作为包名的前缀,这样就不担心项目名冲突的问题了。
因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mlDtiaKO-1581083990930)(.\assets\go项目结构.png)]
举例:
举个例子:张三和李四都有一个名叫studygo
的项目,那么这两个包的路径就会是:
import "github.com/zhangsan/studygo"
import "github.com/zhangsan/studygo"
以后我们从github上下载别人包的时候,如:
go get github.com/jmoiron/sqlx
hub上下载别人包的时候,如:
```bash
go get github.com/jmoiron/sqlx