Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 2.24 KB

GOENV.md

File metadata and controls

53 lines (34 loc) · 2.24 KB

Go的部分环境变量解析

Go 环境变量

当配置好go的基本环境之后,在命令行输入

go env

就可以看到go的一系列环境变量

接下来,挑几个最常用的解释一下。

GOROOT

这个环境变量表示Go安装在自己电脑上的位置,我的GOROOT是/usr/local/go

GOPATH

这个环境变量表示Go语言工作区(的集合)

工作区是用来放置Go源码的地方,之所以说“的集合”是因为我们可以设置多个工作区,每个工作区的路径用 隔开

工作区一般包括三个文件夹,bin 、 pkg 、 src

bin

bin 文件夹是用来存放可执行文件,而这些可执行文件(mac 下是 executable文件,windows下是exe文件),都是通过go install命令安装,由Go命令源码文件生成的。至于命令源码文件是什么,一会儿会说到。

go env可以显示出来所有与go有管的环境变量,可以注意到有一个GOBIN的环境变量,就是设置这个bin文件夹路径的,如果没有设置GOBIN就是默认在GOPATH下的bin文件夹,如果设置了,就可以随自己设置。

值得注意的是:如果有多个环境变量的时候,也就是刚才说的GOPATH定义多个,那么就必须设置GOBIN的值,否则就不知道往哪里安装可执行文件。

pkg

pkg文件是用來存放go install命令安以后所生成的归档文件(.a后缀)

src

src文件是以代码包的形式组织和保存源码文件的,每个代码包都和src文件下的文件夹一一对应

值得注意的是:命令源码文件不一定都放在src文件夹下

这理解需要提一下go的源码文件中的源码文件并不是以一种形式存在,而是由三种文件共同组成的。

  • 命令源码文件 就是自己属于main包,而且有一个main函数的源码.go文件
  • 库源码文件 就是不具备命令源码文件的两个特性的源码.go文件
  • 测试源码文件 用于测试,且文件名带有_test.go的文件

所以命令源码文件是可以直接通过go build或者go install生成可执行的文件

概览