如果是对源代码编译后,再执行,Go的执行流程如下图:
go build生成的可执行文件会在当前目录内
如果是对源代码直接执行go run 源文件操作,Go的执行流程如下图
两种执行流程的方式说明:
1、如果我们先编译生成了可执行文件,我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行。
2、如果我们是直接go run 源文件,那么我们如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。
3、在编译时,编译器会将程序运行以来的库文件包含在可执行文件中,所以,可执行文件变大了很多。
示例:
go build index.go
go run index.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)
更多go语言知识请关注php中文网go语言教程栏目。
Atas ialah kandungan terperinci Go语言执行流程详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!