# 安装Golang
> 本章节将介绍在Linux和Windows平台下安装配置Golang环境
国内软件包下载地址:
1. [golang谷歌中国官网](https://golang.google.cn/dl/)
2. [studygolang](https://studygolang.com/dl)
## 在Linux下安装Golang环境
> 下载Golang二进制安装包 当前版本为 `go1.10.1.linux-amd64.tar.gz`
> 解压到/usr/local目录下 (确保用户有写权限)
```bash
sudo tar zvxf go1.10.1.linux-amd64.tar.gz -C /usr/local
```
> 配置环境变量,将个人工作目录设立在家目录下go文件夹下面,将其配置成GOPATH
vim ~/.bashrc
```bash
export GOROOT=/usr/local/go #go安装路径
export GOBIN=$GOROOT/bin #go可执行程序文件路径
export GOPATH=$HOME/go #GOPATH 请自定义
export GOPBIN=$GOPATH/bin #编译安装程序目录
export PATH=$PATH:$GOPBIN:$GOBIN
```
> 使配置生效
```bash
source ~/.bashrc
```
> 查看环境信息
```bash
$ go env
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCACHE="/home/xuthus/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/xuthus/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
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-build322796997=/tmp/go-build -gno-record-gcc-switches"
```
## Windows下Golang环境配置
> 下载安装包 `go1.10.3.windows-amd64.msi` 执行安装
> 默认安装位置为` C:\Go` ,选择默认参数安装后,安装程序已经自动创建全局环境变量 ` GOROOT=C:\Go` ,自动在` PATH` 里面回添加了 `C:\Go\bin` 并且在 **用户变量** 里添加了 `GOPATH=C:\Users\username\go` 路径 我们只要要将其GOPATH改成我们所需要的,并将 `GOPATH/bin` 添加 ` PATH` 即可。如果你自定义安装位置,你需要手动添加这些选项
> 我们的工作目录在 `D:\GO` 下 将其设为 `GOPATH` 并将 `D:\GO\bin` 添加至 `PATH`
> 快捷键` win+r ` 输入` cmd ` 在命令提示符下输入 `go env` 查看输出
```bash
C:\Users\xuthu>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\xuthu\AppData\Local\go-build
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\GO
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
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\xuthu\AppData\Local\Temp\go-build757079398=/tmp/go-build -gno-record-gcc-switches
```