这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
如果你入门学习者,只是打算了解一下golang语法,想快速run起Helloworld,建议直接看第三节--基于云的开发环境,初步熟悉之后再来配置本地开发环境。
1. 编程环境
Golang安装官方教程:Download and install - The Go Programming Language (google.cn)
Golang官方下载地址:Downloads - The Go Programming Language (google.cn)
- windows安装
下载安装:golang.google.cn/dl/go1.20.w…
验证安装结果
$ go version
$ go version go1.20.1 windows/amd64
- Linux安装
下载安装:golang.google.cn/dl/go1.20.l…
解压压缩包至/usr/local
$ tar -C /usr/local -xzf go1.15.8.linux-amd64.tar.gz
添加/usr/local/go/bin到环境变量
$ $HOME/.profile
$ export PATH=$PATH:/usr/local/go/bin
$ source $HOME/.profile
验证安装结果
$ go version
$ go version go1.15.1 linux/amd64
- mac安装
下载安装:golang.google.cn/dl/go1.20.d…
验证安装结果
$ go version
$ go version go1.15.1 darwin/amd64
- Go Module配置
启用 go module,编译时会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod下载依赖
$ go env -w GO111MODULE="on"
设置GOPROXY,通过该代理在国内也可以访问github 以完成包的下载
$ go env -w GOPROXY=https://goproxy.io,direct
或者
$ go env -w GOPROXY=https://goproxy.cn,direct
2. 编程工具
目前笔者主要用的IDE是Jetbrains系,因此推荐使用Goland,笔者用的是windows版
- 下载安装
Goland是付费软件,有30天试用,在校学生可以通过校内内邮箱申请免费的教育许可证,免费激活使用。
- IDE配置
- Goland的设置分为两个层级:IDE层和Project层
- IDE层:未打开项目时进行配置,配置信息对所有project生效
配置安装goland的bin文件夹的父目录
使用 GoLand 编写 Go 代码时,可以配合 gofmt + goimports + golangci-lint 在保存时完成对代码的格式化和质量检测。
- 安装File Watchers插件
该插件一般会默认安装,如没安装需自行安装
- 启动gofmt
在每次保存代码文件时自动格式化代码
$ 界面操作步骤:File > Settings > Tools > File Watchers > + > go fmt
若无go fmt,手动配置信息如下:
在每次保存代码时自动添加缺失的和删除未引用的包
$ 界面操作步骤: File > Settings > Tools > File Watchers > + > goimports
若无goimports,手动配置信息如下:
$ go install golang.org/x/tools/cmd/goimports
# 会发现gopath下的bin目录中出现了goimports.exe文件
# 查看gopath或goroot位置命令
go env
# 将goimports.exe文件复制到goroot目录下的bin文件夹中
- 启动golangci-lint
开启 golangci-lint可以对代码进行静态检查,比如报告函数行数超标、文件行数超标等来帮助规范代码。
$ 界面操作步骤: File > Settings > Tools > File Watchers > + > golangci-lint
golangci-lint默认不会安装,需手动下载安装,安装命令如下:
$ go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
关于 golangci-lint 的使用详见其官方文档。
- 关闭 import 折叠
Goland默认会折叠导包部分的代码,每次查看都需手动点开,比较麻烦,可以关闭该设置
$ Editor > General > Code Folding > 去掉勾选 Imports
3. 基于云的开发环境
云平台链接:Dashboard — Gitpod
登陆账号:Github账号
使用介绍:Gitpod是一个在线IDE,可以从任何GitHub页面启动。只需在任何GitHub-URL前加上“https://gitpod.io#” ,支持多种语言编程
Golang示例代码:Dashboard — Gitpod