Go的环境变量
GOPATH
一个存储源码文件的目录,代表Go语言项目的工作目录,存放go get命令获取的项目。
可以做如下实验:执行
go get -d github.com/labstack/echo
如果下载慢的话,建议搜索相关资料,使用代理或者镜像仓库下载
其中-d参数表明只是执行下载操作,而不执行安装操作。安装成功之后找到本地的GOPATH路径
go env GOPATH
进入到GOPATH之后,查看目录结构,发现存在github.com/labstack/echo路径的子目录
GOBIN
正如其名字所言,bin也是binary代表Go编译生成的程序的安装目录。使用go install命令会把生成的Go程序二进制文件安装到GOBIN目录下,供终端Shell直接去使用
GOROOT
是Go语言安装的根目录,查看GOROOT路径
go env GOROOT
在MacOS下默认是/usr/local/go
GOARCH
代表要编译的目标处理器的指令集架构,如
- 386
- AMD64
- ARM64
GOOS
代表要编译的目标操作系统,例如
- Linux
- Windows
- Darwin
创建Go语言项目
可以使用 go mod init来快速的在当前文件夹中创建项目基本结构,注意当前文件夹也是需要在GOPATH下的,其会创建一个go.mod文件来对模块进行管理。
Go源码组织形式
- Go是以包为基本代码组织单位的,一般情况下代码包和目录是一一对应的,因此代码包有子包
- 如果与目录不同名,以代码包名为主,如
package main - 在使用
import的时候,导入路径实际上就是从src子目录到该包实际存储位置的相对路径。
go get命令其他参数
go get命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。
- 之前用过的
-d参数是只下载不安装 -u参数强制(不论工作区中是否已经存在)使用网络去更新包和它的依赖包-t下载并测试代码包-insecure允许通过非安全的网络协议下载和安装代码包-fix下载代码包之后先运行一个用于根据当前Go语言版本修复代码的工具,然后安装代码包
其他参数可详细查询文档