工作区和 GOPATH
在装置 Go 过程中须要配置 3 个环境变量:GOROOT、GOPATH 和 GOBIN。
- GOROOT:Go 语言的装置根目录门路,也就是 Go 语言的装置门路。
- GOPATH:若干工作区目录的门路。使咱们本人定义的工作空间。
- GOBIN:Go 程序生成的可执行文件的门路。
设置 GOPATH 有什么意义?
咱们能够把 GOPATH 简略了解成 Go 语言的工作目录,它的值是一个或者多个目录门路,每个目录门路都代表着 Go 语言的一个工作区。
Go 语言源码的组织形式是怎么的?
- 根本组织单位是 代码包。
- 代码包的名称个别与源码文件所在目录同名。如果不同名,则在构建、装置的过程中以代码包的名称为准。
- 一个代码包能够蕴含任意个以
.go
扩展名的源码文件,这些源码文件申明属于同一个代码包。 - 每个代码包都有导入门路。在工作区,代码包导入门路,理论是 src 目录到该代码包的相对路径。
源码装置后,各文件如何存储?
- 源码文件存储在 src 子目录下。
- 在装置后,产生了归档文件(以
.a
扩展名的文件),放进 pkg 子目录。 - 在装置后,产生了可执行文件,放进 bin 子目录。
构建和装置 GO 程序的过程是怎么的?
-
构建命令
go build
- 如果构建的是库源码文件,那么操作后的后果只会存储在临时文件中。这里的构建的作用只是检查和验证。
- 如果构建的是命令源码文件,操作的后果文件会存储在源码文件所在目录。
-
装置命令
go install
- 安装操作会先执行构建,而后还会进行链接操作,并且把后果文件搬运到指定目录。
- 如果装置的是库源码文件,那么后果文件会被搬运到它所在工作区的 pkg 目录下的某个子目录中。
- 如果装置的是命令源码文件,那么后果文件会被搬运到它所在工作区的 bin 目录中,或者环境变量 GOBIN 指向的目录中。