GO学习之workspace
目录
环境变量
GOROOT
Go语言安装根目录的路径,也就是GO语言的安装路径。
GOPATH
若干工作区目录的路径。是我们自己定义的工作空间。
GOBIN
GO程序生成的可执行文件(excutable file)的路径。
GOPATH目录结构
- GOPATH
- 工作区1
- src
- github.com/lab/echo
- pkg
- linux_amd64
- github.com/lab/echo
- echo.a
- github.com/lab/echo
- linux_amd64
- bin
- src
- 工作区2
- 工作区1
Go语言源码的组织方式
Go语言的源码是以代码包位基本组成单位的。在文件系统中,这些代码包其实是与目录一一对应的。由于目录存在子目录,所以代码包也有子包。
一个代码包,包含任意个已.go
为文件后缀的源码文件,这些源码都需要被声明属于同一个代码包。
代码包的名称一般会与源码文件所在的目录同名。如果不同名,那么在构建、安装的过程中 会以代码包名称为准。
每个代码包都会有导入路径。代码包的导入路径是其他代码在使用该包中的程序实体时,需 要引入的路径。在实际使用程序实体之前,我们必须先导入其所在的代码包。
在工作区中,一个代码包的导入路径实际上就是从 src 子目录,到该包的实际存储位置的相 对路径。
Go 语言源码的组织方式就是以环境变量 GOPATH、工作区、src 目录和代码包为 主线的。一般情况下,Go 语言的源码文件都需要被存放在环境变量 GOPATH 包含的某个 工作区(目录)中的 src 目录下的某个代码包(目录)中。