简介

go编译命令的一些总结。

理解Go的环境变量

  • GOROOT:Go语言的当前安装目录
  • GOPATH:Go语言的工作区的集合,工作区就是我们平时写代码的地方,每个工作区用:隔开(windows是;)
  • GOBIN:Go程序的可执行文件的目录
  • PATH:系统环境变量,为了方便使用 Go 语言命令和 Go 程序的可执行文件,需要添加其值

Go的源码分类

  • 命令源码文件:声明main包并有mian函数的源码文件
  • 库源码文件:代码包的普通源码文件
  • 测试源码文件:名称以 _test.go 为后缀的代码文件,并且必须包含 Test 或者 Benchmark 名称前缀的函数

go run 命令

  • 专门用来运行命令源码文件的命令,注意,这个命令不是用来运行所有 Go 的源码文件的
  • go run 命令只能接受一个命令源码文件以及若干个库源码文件(必须同属于 main 包)作为文件参数,且不能接受测试源码文件。它在执行时会检查源码文件的类型。如果参数中有多个或者没有命令源码文件,那么 go run 命令就只会打印错误提示信息并退出,而不会继续执行
  • go run会生成归档文件和可执行文件,并自动执行可执行文件

go build

  • go build 用于编译我们指定的源码文件或代码包以及它们的依赖包。但是注意如果用来编译非命令源码文件,即库源码文件,go build 执行完是不会产生任何结果的。这种情况下,go build 命令只是检查库源码文件的有效性,只会做检查性的编译,而不会输出任何结果文件。
  • go build对命令源码文件使用会生成可执行文件。可执行文件生成在当前目录

go install

  • go install 用于编译并安装指定的代码包及它们的依赖包。当指定的代码包的依赖包还没有被编译和安装时,该命令会先去处理依赖包。与 go build 命令一样,传给 go install 命令的代码包参数应该以导入路径的形式提供。并且,go build 命令的绝大多数标记也都可以用于
  • go install 命令。实际上,go install 命令只比 go build 命令多做了一件事,即:安装编译后的结果文件到指定目录。
  • 安装代码包会在当前工作区的 pkg 的平台相关目录下生成归档文件(即 .a 文件)。 安装命令源码文件会在当前工作区的 bin 目录(如果 GOPATH 下有多个工作区,就会放在 GOBIN 目录下)生成可执行文件。

待续···