环境安装

Windows

下载

地址: https://golang.google.cn/dl/

如果没有特别需求,推荐使用最新版本。

安装

下载得到的为 .msi 文件,也就是 Microsoft Installer 文件,直接运行安装即可。默认的安装路径为:c:\Go\,依据自己需要定制即可。

安装完毕后,在安装目录结构如下:

PS D:\services\Go> ls
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2019/9/13     17:53                api
d-----        2019/9/13     17:53                bin
d-----        2019/9/13     17:53                doc
d-----        2019/9/13     17:53                lib
d-----        2019/9/13     17:53                misc
d-----        2019/9/13     17:53                pkg
d-----        2019/9/13     17:53                src
d-----        2019/9/13     17:53                test
-a----         2019/9/3     17:07          55389 AUTHORS
-a----         2019/9/3     17:07           1339 CONTRIBUTING.md
-a----         2019/9/3     17:07           5686 favicon.ico
-a----         2019/9/3     17:07           1479 LICENSE
-a----         2019/9/3     17:07           1303 PATENTS
-a----         2019/9/3     17:07           1607 README.md
-a----         2019/9/3     17:07            397 SECURITY.md
-a----         2019/9/3     17:07              6 VERSION
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

安装测试

安装程序会自动设置一组环境变量,例如:

  • GOROOT,Go 安装路径
  • GOPATH,Go 第三方库路径
  • GOBIN,编译形成的可执行性程序路径

同时,将 $GOROOT/bin 加入 windows 系统的环境变量 path 中,保证 go 命令可以在任何位置调用。

详细的 Go 相关环境变量可以使用 go env 来获取:

> go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Kang\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\projects\go
set GOPROXY=
set GORACE=
set GOROOT=D:\services\Go
set GOTMPDIR=
set GOTOOLDIR=D:\services\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\Kang\AppData\Local\Temp\go-build216016266=/tmp/go-build -gno-record-gcc-switches
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

得到以上结果,表示 Go 在系统中安装成功,可以编写和执行 Go 应用程序啦!

学习阶段,在一个熟悉的平台安装即可,不需要同时在多平台安装。

Linux

下载

我们使用 wget 完成下载:

wget https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz
1

wget 工具的使用方法,请参考:https://www.gnu.org/software/wget/

安装

下载的 tarball 中包含的是 Go 的可执行版本,不需要编译,直接解压到指定目录即可,建议使用 /usr/local/go 目录,命令如下:

tar -C /usr/local -xzf go1.12.9.linux-amd64.tar.gz
1

下载的版本不同,命令不尽相同,请依据自己的版本完成命令。tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

设置环境变量 PATH

解压完毕后,需要我们手动将 GOROOT/bin 设置到环境变量 PATH 中,保证调用 go 命令的正确。

编辑 /etc/profile 文件,键入如下内容:

export PATH=$PATH:/usr/local/go/bin
1

编辑完毕后,重启 shell 或者执行 source /etc/profile 使之生效。

测试

安装程序会自动设置一组环境变量,例如:

  • GOROOT,Go 安装路径
  • GOPATH,Go 第三方库路径
  • GOBIN,编译形成的可执行性程序路径

详细的 Go 相关环境变量可以使用 go env 来获取:

$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/hank/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/hank/apps/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build568249040=/tmp/go-build -gno-record-gcc-switches"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

得到以上结果,表示 Go 在系统中安装成功,可以编写和执行 Go 应用程序啦!

学习阶段,在一个平台安装即可,不需要同时在多平台安装。

开发工具

概述

Go 语言开发常用编辑器为:

  • Sublime
  • GoLand
  • VsCode
  • LiteIDE
  • Vim

根据自己习惯和喜好,选择合适的编辑器即可。(个人推荐 GoLand)

GoLand

介绍

参考:https://www.jetbrains.com/go/

Jetbrains 编辑器家族的 GoLand,专注于 Go 语言编程。

快捷键

  • CTRL+E,打开最近浏览过的文件。
  • CTRL+SHIFT+E,打开最近更改的文件。
  • CTRL+N,可以快速打开struct结构体。
  • CTRL+SHIFT+N,可以快速打开文件。
  • CTRL+ALT+T,可以把代码包在一个块内,例如if{…}else{…}。
  • CTRL+ALT+L,格式化代码。
  • CTRL+空格,代码提示。
  • CTRL+/,单行注释。CTRL+SHIFT+/,进行多行注释。
  • CTRL+B,快速打开光标处的结构体或方法(跳转到定义处)。
  • CTRL+“+/-”,可以将当前方法进行展开或折叠。
  • CTRL+R,替换文本。
  • CTRL+F,查找文本。
  • CTRL+SHIFT+F,进行全局查找。
  • CTRL+G,快速定位到某行。
  • ALT+Q,可以看到当前方法的声明。
  • CTRL+Backspace,按单词进行删除。
  • SHIFT+ENTER,可以向下插入新行,即使光标在当前行的中间。
  • CTRL+X,删除当前光标所在行。
  • CTRL+D,复制当前光标所在行。
  • ALT+SHIFT+UP/DOWN,可以将光标所在行的代码上下移动。
  • CTRL+SHIFT+U,可以将选中内容进行大小写转化。

VSCode

介绍

参考: https://code.visualstudio.com/

Microsoft 开源的 Visual Studio Code,简称 VSCode,免费使用,可用于编辑各种主流语言,轻量级,插件丰富。

运行

支持命令启动,命令为 code,演示:

$ code main.go
$ code
1
2

code 命令会打开一个 VSCode 窗口。

配置 Go 插件

安装 go 插件开启 go 语言的支持,go 插件需要依赖一些工具,安装过程如下:

请先配置好 GOPATH,并进入 GOPATH 目录。

$ cd $GOPATH
$ git clone https://github.com/golang/tools src/golang.org/x/tools
$ git clone https://github.com/golang/lint src/golang.org/x/lint
$ gocode: go get -u -v github.com/nsf/gocode
$ godef: go get -u -v github.com/rogpeppe/godef
$ gogetdoc: go get -u -v github.com/zmb3/gogetdoc
$ go-outline: go get -u -v github.com/lukehoban/go-outline
$ goreturns: go get -u -v sourcegraph.com/sqs/goreturns
$ gopkgs: go get -u -v github.com/tpng/gopkgs
$ go-symbols: go get -u -v github.com/newhook/go-symbols
$ gotests: go get -u -v github.com/cweill/gotests/...
1
2
3
4
5
6
7
8
9
10
11

安装过程,受限于网络原因,有些自己需要 git clone,上面的 x/tools 和 x/lint 就需要。

F1

快捷键 F1,启用命令,支持搜索。超级好用,VSCode 的全部功能都在这里。

快捷键

linux 快捷键:

keyboard-shortcuts-linux

VSCode 官方快捷键 worksheet,不同平台地址不同: