go安装到编译简易流程
目录
下载
Downloads - The Go Programming Language
注意:系统、架构
安装
-
windows、mac
下载的是安装包,根据安装提示安装后,会自动加入path,执行
go version
查看是否正常输出golang版本号。 -
linux
下载压缩包,解压即可,加入path路径
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.1.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
#查看版本 go version
Download and install - The Go Programming Language
代理
由于墙的原因,经常下载包难以成功,我们可以使用代理:
go env -w GOPROXY=https://goproxy.cn,direct
mod初始化
go mod init <指定项目模块的命名空间>
编译
go build
交叉编译
Go语言支持交叉编译,在一个平台上生成另一个平台的可执行程序。
需要注意的是:golang在支持cgo的时候是没法交叉编译的。
-
概念
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(386、amd64、arm)
-
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 和 Linux 64位可执行程序
SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build
注意:
- windows下面 powershell不行,要cmd
- 如果使用到c或C++调用的话,win下是无法忽略CGO进行编译,也就是编译会失败,比如使用到sqlite3