参考文档:
https://www.liwenzhou.com/posts/Go/install_go_dev/
一、下载
下载地址
Go官网下载地址:https://golang.org/dl/
Go官方镜像站(推荐):https://golang.google.cn/dl/
版本的选择
Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。
二、安装
Windows安装(未补写)
未补写
Linux下安装
如果不是要在Linux平台敲go代码就不需要在Linux平台安装Go,我们开发机上写好的go代码只需要跨平台编译好之后就可以拷贝到Linux服务器上运行了,这也是go程序跨平台易部署的优势。
下载解压:
# cd /usr/local/src/
# wget https://golang.google.cn/dl/go1.17.2.linux-amd64.tar.gz
# tar xf go1.17.2.linux-amd64.tar.gz -C /usr/local/
配置PATH Go环境变量
# cat /etc/profile.d/go.sh
export GOROOT=/usr/local/go
export GOPATH=/data/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
# source /etc/profile.d/go.sh
# go version
go version go1.17.2 linux/amd64
配置go的工作目录;GOPATH是我们的工作目录。
cd /data/go
mkdir bin pkg src
现象 go build main.go
go mod file not found
处理:
go env -w GO111MODULE=auto
三、Go开发编辑器
Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,推荐使用VS Code和Goland。 VS Code是微软开源的编辑器,而Goland是jetbrains出品的付费IDE。
3.1、VS Code介绍
VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。
虽然不如某些IDE功能强大,但是它添加Go扩展插件后已经足够胜任我们日常的Go开发。
这里使用VS Code 加插件做为go语言的开发工具。
3.2、下载与安装
VS Code官方下载地址:https://code.visualstudio.com/Download
三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。
3.3、安装中文简体插件
点击左侧菜单栏最后一项管理扩展,在搜索框中输入chinese ,选中结果列表第一项,点击install安装。安装完毕后右下角会提示重启VS Code,重启之后你的VS Code就显示中文啦!
3.4、安装go扩展
四、Windows下VSCode切换cmd.exe作为默认终端(为成功)
默认打开VS Code的终端界面查看右下角显示就是默认的powershell。
五、跨平台编译
默认我们go build的可执行文件都是当前操作系统可执行的文件,Go语言支持跨平台编译——在当前平台(例如Windows)下编译其他平台(例如Linux)的可执行文件。
5.1、Windows编译Linux可执行文件
如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。
注意:无论你在Windows电脑上使用VsCode编辑器还是Goland编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!
目前的Windows通常默认使用的是PowerShell终端。
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终端下执行完上述命令后,再执行go build,得到的就是能够在Linux平台运行的可执行文件了。
go build
5.2、Windows编译Mac可执行文件
Windows下编译Mac平台64位可执行程序:
Windows下cmd终端下执行:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
Windows下PowerShell终端下执行:
$ENV:CGO_ENABLED=0
$ENV:GOOS="darwin"
$ENV:GOARCH="amd64"
go build
5.3、Mac编译Linux可执行文件
Mac电脑编译得到Linux平台64位可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
5.4、Mac编译Windows可执行文件
Mac电脑编译得到Windows平台64位可执行程序:
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
5.5、Linux编译Mac可执行文件
Linux平台下编译Mac平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
5.6、Linux编译Windows可执行文件
Linux平台下编译Windows平台64位可执行程序:
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build