目录

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
      • bin
    • 工作区2

Go语言源码的组织方式

Go语言的源码是以代码包位基本组成单位的。在文件系统中,这些代码包其实是与目录一一对应的。由于目录存在子目录,所以代码包也有子包。

一个代码包,包含任意个已.go为文件后缀的源码文件,这些源码都需要被声明属于同一个代码包。

代码包的名称一般会与源码文件所在的目录同名。如果不同名,那么在构建、安装的过程中 会以代码包名称为准。

每个代码包都会有导入路径。代码包的导入路径是其他代码在使用该包中的程序实体时,需 要引入的路径。在实际使用程序实体之前,我们必须先导入其所在的代码包。

在工作区中,一个代码包的导入路径实际上就是从 src 子目录,到该包的实际存储位置的相 对路径。

Go 语言源码的组织方式就是以环境变量 GOPATH、工作区、src 目录和代码包为 主线的。一般情况下,Go 语言的源码文件都需要被存放在环境变量 GOPATH 包含的某个 工作区(目录)中的 src 目录下的某个代码包(目录)中。