一、运行程序相关的命令:
go build
:用于测试编译包,在项目目录下生成可执行文件(有main包)
go install
:主要用来生成库和工具。一是编译包文件(无main包),将编译后的包文件放到 pkg 目录下($GOPATH/pkg)。二是编译生成可执行文件(有main包),将可执行文件放到 bin 目录($GOPATH/bin)
go run
:直接编译运行 .go文件,并输出结果。
go build 和 go install 的区别:
- 相同点
都能生成可执行文件 - 不同点
go build 不能生成包文件, go install 可以生成包文件
go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录下($GOPATH/bin)
简单理解:
go install就相当于先go build 生成可执行文件,然后将这个可执行文件放到bin目录下。
二、跨平台编译(交叉编译):
在go build或go install之前先执行一下代码:
SET CGO_ENABLED=0 //禁用CGO
SET GOOS=linux //目标平台是Linux
SET GOARCH=amd64 //目标处理器架构
之后再执行go build
或 go install
,得到的就是Linux平台运行的可执行文件了。
Mac 下编译Linux和Windows平台64位可执行程序:
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
- CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux下编译Mac和Windows平台64位可执行程序:
- CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
- CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下编译Mac平台的64位可执行程序:
- SET CGO_ENABLED=0 //禁用CGO
- SET GOOS=darwin //目标平台是Mac
- SET GOARCH=amd64 //目标处理器架构
- go build
注:开发一般都是Windows平台或者Mac平台、
==现在开启Go语言学习之旅==