Go语言搭建开发环境
Go语言搭建开发环境
最新1.14版本,搭建Go语言开发环境。
下载地址
Go官网下载地址:https://golang.org/dl/
Go官方镜像站(推荐):https://golang.google.cn/dl/
版本的选择
根据个人系统选择最新版本
安装
Windows安装
双击下载好的go1.14.3.windows-amd64 .msi,一路下一步直到安装完成
Linux下安装
如果不是要在Linux平台敲go代码就不需要在Linux平台安装Go,我们开发机上写好的go代码只需要跨平台编译(详见文章末尾的跨平台编译)好之后就可以拷贝到Linux服务器上运行了,这也是go程序跨平台易部署的优势。
下载好go1.14.3.linux-amd64.tar.gz
文件:
wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz
将下载好的文件解压到/usr/local
目录下:
tar -zxvf go1.14.3.linux-amd64.tar.gz -C /usr/local # 解压
如果提示没有权限,加上sudo
以root用户的身份再运行。执行完就可以在/usr/local/
下看到go
目录了。
配置环境变量: Linux下有两个文件可以配置环境变量,其中/etc/profile
是对所有用户生效的;$HOME/.profile
是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
修改/etc/profile
后要重启生效,修改$HOME/.profile
后使用source命令加载$HOME/.profile
文件即可生效。 检查:
~ go version
go version go1.14.3 linux/amd64
设置环境变量
GOROOT和GOPATH
GOROOT
和GOPATH
都是环境变量,其中GOROOT
是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH
设置一个默认目录,参见下表。
GOPATH在Windows操作系统上的默认值
平台 | GOPATH默认值 | 举例 |
---|---|---|
Windows | %USERPROFILE%/go | C:\Users\用户名\go |
可以通过以下方法查看默认的GOPATH
目录:
创建工作空间目录
GOPROXY
默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct
,
国内访问不到https://proxy.golang.org
,
需要换一个GOPROXY,推荐使用https://goproxy.io
或https://goproxy.cn
在这不使用VPN,下载速度还是比较理想
cmd窗口执行命令修改GOPROXY:
go env -w GOPROXY=https://goproxy.cn,direct
Go开发编辑器
Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,这里推荐使用VS Code
和Goland
。 VS Code
是微软开源的编辑器,而Goland
是jetbrains出品的付费IDE。
使用VS Code
加插件做为go语言的开发工具。
VS Code介绍
VS Code
全称Visual Studio Code
,微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。
下载与安装
VS Code
官方下载地址:https://code.visualstudio.com/Download
三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。![vscode_home]
双击安装即可。
配置
安装中文简体插件
点击左侧菜单栏最后一项管理扩展
,在搜索框
中输入chinese
,选中结果列表第一项,点击install
安装。
安装完毕后右下角会提示重启VS Code
,重启之后VS Code就显示中文![安装简体中文插件]
安装go扩展
为VS Code编辑器安装Go
扩展插件,让它支持Go语言开发。[安装go扩展图]
第一个Go程序
Hello World
创建第一个Go项目——hello
。
桌面创建一个hello
目录。在该目录中创建一个main.go
文件:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
go run
执行脚本一样执行代码
go run main.go
>>>Hello World!
go build
go build
表示将源代码编译成可执行文件。
在hello目录下执行:
go build
或者在其他目录执行以下命令:
go build hello
go编译器会去 GOPATH
的src目录下查找你要编译的hello
项目
编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe
可执行文件。
可在终端直接执行该hello.exe
文件:
c:\desktop\hello>hello.exe
Hello World!
我们还可以使用-o
参数来指定编译后得到的可执行文件的名字。
go build -o xx.exe
Windows下VSCode切换cmd.exe作为默认终端
方式一
VS Code
使用powershell
作为默认终端:
推荐选择cmd.exe
作为默认的终端工具:此时,VS Code正上方中间位置会弹出如下界面,选中后缀为cmd.exe
的那一个
重启VS Code中已经打开的终端或者直接重启VS Code即可。
方式二
按下Ctrl+Shift+P
,VS Code正上方会出现一个框,你按照下图输入shell
,
选择默认shell
选项
go install
go install
表示安装的意思,
先编译源代码得到可执行文件,将可执行文件拷贝到配置的GOPATH
下的bin目录,可在任意地方直接执行可执行文件。
跨平台编译
默认我们go build
的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件
只需要指定目标操作系统的平台和处理器架构即可:
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
使用了cgo的代码是不支持跨平台编译的
然后再执行go build
命令,得到的就是能够在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
SET GOOS=darwin
SET GOARCH=amd64
go build