Go语言执行流程

Go执行流程

如果是对源代码编译后,再执行,Go的执行流程如下图

Go语言执行流程

go build生成的可执行文件会在当前目录内

如果是对源代码直接执行go run 源文件操作,Go的执行流程如下图

Go语言执行流程

两种执行流程的方式说明

  1. 如果我们先编译生成了可执行文件,我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
  2. 如果我们是直接go run 源文件,那么我们如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。
  3. 在编译时,编译器会将程序运行以来的库文件包含在可执行文件中,所以,可执行文件变大了很多。

示例:

go build index.go

Go语言执行流程

go run index.go

Go语言执行流程

go run、go build、go install命令解释

go run:go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试。

go build:go build 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。

go install:go install 的作用有两步:第一步是编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步是将编译后生成的可执行文件放到 bin 目录下($GOPATH/bin),编译后的包文件放到 pkg 目录下($GOPATH/pkg)

上一篇:Scratch-Blockly配置过程


下一篇:[转]expect实现ssh自动交互