安装 Go 语言及搭建 Go 语言开发环境
下载
下载地址
Go 官网下载地址:https://golang.org/dl/
Go 官方镜像站(推荐):https://golang.google.cn/dl/
版本的选择
Windows 平台和 Mac 平台推荐下载可执行文件版,Linux 平台下载压缩文件版。
(目前的最新版本可能不是 1.11.5,但是安装过程类似哦。)
Windows 下安装Go环境
此安装实例以 64位Win10
系统安装 Go1.11.5可执行文件版本
为例。
将上一步选好的安装包下载到本地。
双击下载好的文件,然后再按照下图步骤安装即可。
Linux下安装Go环境
登录 Linux
Mac 或 Linux 的用户可以用命令ssh root@xxx.xxx.xxx.xxx
登录主机
Window 的用户可以使用 SecureCRT 登录主机
虚拟机用户直接打开你的虚拟机
安装 Go 环境
Golang 官网下载地址:https://golang.org/dl/
- 打开官网下载地址选择对应的系统版本, 复制下载链接
这里我选择的是
go1.11.5.linux-amd64.tar.gz
:https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz
image.png
-
cd
进入你用来存放安装包的目录,我习惯在~
下面创建个go
文件夹。
1 | # 在 ~ 下创建 go 文件夹,并进入 go 文件夹 |
- 下载完成
- 执行
tar
解压到/usr/loacl
目录下(官方推荐),得到go
文件夹等
1 | tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz |
- 添加
/usr/loacl/go/bin
目录到 PATH 变量中。添加到/etc/profile
或$HOME/.profile
都可以
1 | # 习惯用vim,没有的话可以用命令`sudo apt-get install vim`安装一个 |
- 执行
go version
,如果现实版本号,则 Go 环境安装成功。是不是很简单呢?
运行第一个程序
- 先创建你的工作空间 (Workspaces),官方建议目录
$HOME/go
。
1 | mkdir $HOME/go |
- 将你的工作空间路径声明到环境变量中。和上一部分的第 5 步相似。
1 | # 编辑 ~/.bash_profile 文件 |
- 在你的工作空间创建你的第一个工程目录
1 | # 创建并进入你的第一个工程目录 |
- 在你的工程目录下创建名为
hello.go
的文件
1 | vim hello.go |
- 将下面内容粘贴到 hello.go 文件
1 | package main |
- 好了,工程目录和工程文件都准备好了。现在我们到我们的工程目录 (
$GOPATH/src/hello
) 下构建我们的工程
1 | # 如果你当前的目录不在 $GOPATH/src/hello, 需要先执行 "cd $GOPATH/src/hello" 进入该目录 |
- 等一会,命令执行完之后你可以看到目录下会多出一个 hello 的文件,这就是我们编译之后的文件啦。怎么执行我们的程序呢?只需要在当前目录下执行
./xxx
就可以啦!是不是敲鸡煎蛋呢!
1 | ./hello |
Mac 下安装Go环境
下载可执行文件版,直接点击下一步安装即可,默认会将 go 安装到/usr/local/go
目录下。
检查
上一步安装过程执行完毕后,可以打开终端窗口,输入go version
命令,查看安装的 Go 版本。
关于 Go 的一些介绍
环境变量:
- $GOROOT:
表示 Go 的安装目录。也就是上面我们解压出来的文件夹里面的go
文件夹。 - $GOPATH:
表示我们的工作空间。用来存放我们的工程目录的地方。
GOPATH 目录:
一般来说 GOPATH 下面会有三个文件夹:bin
、pkg
、src
,没有的话自己创建。每个文件夹都有其的作用。
- bin:编译后可的执行文件的存放路径
- pkg:编译包时,生成的. a 文件的存放路径
- src:源码路径,一般我们的工程就创建在
src
下面。
注意:如果要用Go Mod
(Go1.11 及以上支持) 进行包管理,则需要在 GOPATH 以外的目录创建工程。关于Go Mod
的使用,可以自行 Google 一下,这里就不赘述了。
配置 GOPATH
GOPATH
是一个环境变量,用来表明你写的 go 项目的存放路径(工作目录),本文就选择使用 D:\code\go
这个目录作为 GOPATH
目录。
GOPATH
路径最好只设置一个,我们写的所有 Go 项目代码都放到GOPATH
的src
目录下。
补充说明:Go1.11 版本之后,开启go mod
模式之后就不再强制需要配置GOPATH
了。
Linux 和 Mac 平台就参照上面配置环境变量的方式将自己的工作目录添加到环境变量中即可。
Windows 平台按下面的步骤将D:\code\go
添加到环境变量:
在 Go 1.8 版本之前,GOPATH
环境变量默认是空的。从 Go 1.8 版本开始,Go 开发包在安装完成后会为 GOPATH
设置一个默认目录,参见下图。
同时,我们将 GOROOT
下的 bin 目录及GOPATH
下的 bin 目录都添加到环境变量中。
配置环境变量之后需要重启已经打开的终端才能让新配置的环境变量生效。(例如 cmd、VS Code 里面的终端和其他编辑器的终端等)。
Go 项目结构
在进行 Go 语言开发的时候,我们的代码总是会保存在$GOPATH/src
目录下。在工程经过go build
、go install
或go get
等指令后,会将下载的第三方包源代码文件放在$GOPATH/src
目录下, 产生的二进制可执行文件放在 $GOPATH/bin
目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg
下。
如果我们使用版本管理工具(Version Control System,VCS。常用如 Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src
目录的源代码即可。bin
和 pkg
目录的内容无需版本控制。
适合个人开发者
我们知道源代码都是存放在GOPATH
的src
目录下,那我们可以按照下图来组织我们的代码。
目前流行的项目结构
Go 语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名
来作为包名的前缀,这样就不担心项目名冲突的问题了。
因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的 github 用户名来区分不同的包。
举个例子:张三和李四都有一个名叫studygo
的项目,那么这两个包的路径就会是:
1 | import "github.com/zhangsan/studygo" |
和
1 | import "github.com/lisi/studygo" |
以后我们从 github 上下载别人包的时候,如:
1 | go get github.com/jmoiron/sqlx |
那么,这个包会下载到我们本地GOPATH
目录下的src/github.com/jmoiron/sqlx
。
适合企业开发者
Goland 官网下载
安装
配置 GoLand 的 GOPATH 和 GOROOT
打开 Goland 软件,点击右下角 Configure,然后点击 Setting,如下图所示:
在打开的界面中,点击 GO 列表,然后找到 GOPATH 和 GOROOT