Go语言程序的编译和运行
Go语言是编译型的静态语言(和C语言一样),所以在运行Go语言程序之前,先要将其编译成二进制的可执行文件。
可以通过Go语言提供的go build或者go run命令对Go语言程序进行编译:
- go build命令可以将Go语言程序代码编译成二进制的可执行文件,但是需要我们手动运行该二进制文件;
- go run命令则更加方便,它会在编译后直接运行Go语言程序,编译过程中会产生一个临时文件,但不会生成可执行文件,这个特点很适合用来调试程序。
1、使用go build
-
(1)、在项目目录下执行
go build
-
(2)、在其他路径下执行
go build
,需要在后面加上项目的路径(项目路径从GOPATH/src后开始写起,编译之后的可执行文件就保存在当前目录下) -
(3)、
go build -o hello.exe
编译后给文件换个名字
2、go run
像执行脚本文件一样执行Go代码
go run main.go 也可以执行程序,该命令本质上也是先编译再执行。
3、go install
分为两步
- 先编译得到一个可执行文件
- 然后讲可执行文件拷贝到
GOPATH/bin
4、交叉编译(Go支持跨平台编译)
例如:在windowns平台编译一个能在Linxu平台执行的可执行文件
如果你的Windows使用的是cmd,那么按如下方式指定环境变量。
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为
$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"
在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。
go build