摘要:
在Windows下,默认情况下,Go语言开发工具包将安装在C盘的Go目录中。建议安装在此目录中,这样使用起来更方便。安装完成后,将在我们设置的安装目录下生成一些目录和文件,如下图所示:此目录的结构遵循GOPATH规则,这将在以下章节中提及。GOPATH是用于存储开发中所需的代码包的路径。其他环境变量将自动设置。
Linux安装

Golang官网下载地址:https://golang.org/dl/

1、下载安装包

2、解压至 /usr/local 目录

tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz

3、添加 /usr/loacl/go/bin 目录到PATH变量中。添加到/ etc/profile 或 $HOME/.profile 都可以

vim /etc/profile

export GOROOT="/usr/local/go"
export GOPATH="/root/go"
export GOBIN="/root/go/bin" 
export PATH="$PATH:$GOROOT/bin:$GOBIN"

export GO111MODULE="on"
export GOPROXY="https://goproxy.cn,direct"
export GONOPROXY="*git.example.com"
export GONOSUMDB="*git.example.com"

source /etc/profile
代码运行

编写go代码

[root@VM-0-6-centos go]# tree
.
|-- bin
|-- pkg
`-- src
    |-- test_demo        // test_demo项目是输出二进制文件
    |   `-- app.go
    `-- utils
        `-- add.go      // utils项目是输出包

方式 1:go run

进入代码目录
go run app.go

方式 2:go build(推荐)

进入代码目录
​
//编译代码,在当前目录生成一个可执行文件
go build            // 默认生成的可执行文件名称与工程名称相同
//运行
./test_demo
​
go build -o xxx     // -o 指定生成二进制文件的名称

GO程序员的项目:

  • 产出一个可执行文件

  • 产出一个包

方式 3:go install

1) "$GOPATH/bin"目录,生成可执行文件

[root@VM-0-6-centos test_demo]# cat app.go 
package main
​
import(
    "fmt"
)
​
func main(){
    fmt.Println("hello,main")
}
进入test_demo代码目录
//执行go install编译代码,"$GOPATH/bin"目录,生成可执行文件
go install
​
结果:
[root@VM-0-6-centos go]# tree
.
|-- bin
|   `-- test_demo      // 产出可执行文件
|-- pkg
`-- src
    |-- test_demo
    |   `-- app.go
    `-- utils
        `-- add.go
 

2) "$GOPATH/pkg"目录,生成utils的包文件

[root@VM-0-6-centos utils]# cat add.go 
package utils
​
func Add(a,b int)int{
    return a+b
}
进入utils代码目录
//执行go install编译代码,"$GOPATH/pkg"目录,生成utils.a包文件
go install
​
结果:
[root@VM-0-6-centos go]# tree
.
|-- bin
|   `-- test_demo
|-- pkg
|   `-- linux_amd64
|       `-- utils.a        // 产出文件包
`-- src
    |-- test_demo
    |   `-- app.go
    `-- utils
        `-- add.go
​
Windows环境

下载Go语言开发包

大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示。

这里我们下载的是 64 位的开发包,如果读者的电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面中向下滚动即可找到 32 位开发包的下载地址,如下图所示。

注意:下载 Windows 版本的Go语言开发包时尽量选择 MSI 格式,因为它可以直接安装到系统,不需要额外的操作。

安装Go语言开发包

双击我们下载好的Go语言开发包即可启动安装程序,如下图所示,这是Go语言的用户许可协议,无需管它,直接勾选“I accept ...”然后点击“Next”即可。

在 Windows 系统下Go语言开发包会默认安装到 C 盘的 Go 目录下,推荐在这个目录下安装,使用起来较为方便。当然,你也可以选择其他的安装目录,确认无误后点击“Next”,如下图所示:

Go语言开发包的安装没有其他需要设置的选项,点击“Install”即可开始安装,如下图所示:

等待程序完成安装,然后点击“Finish”退出安装程序。

安装完成后,在我们所设置的安装目录下将生成一些目录和文件,如下图所示:

这个目录的结构遵守 GOPATH 规则,后面的章节会提到这个概念。目录中各个文件夹的含义如下表所示。

Go 开发包的安装目录的功能及说明
目录名说明
api每个版本的 api 变更差异
bingo 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
doc英文版的 Go 文档
lib引用的一些库文件
misc杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等
pkgWindows 平台编译好的中间文件
src标准库的源码
test测试用例


开发时,无须关注这些目录。如果读者希望深度了解底层原理,可以通过上面的介绍继续探索。

设置环境变量

GOPATH 


在弹出的菜单里找到 GOPATH 对应的选项点击编辑之后就可以修改了,没有的话可以选择新建,并将变量名填写为 GOPATH,变量值设置为任意目录均可(尽量选择空目录),例如 D:Go。

GOBIN="/root/go/bin" 

GOROOT="/usr/local/go"

GOPATH="/root/go"

提示:填写完成后,每个打开的窗口都需要点击“确定”来保存设置。

其它的环境变量安装包均会进行自动设置。在默认情况下,Go 将会被安装在目录 c:go 下,但如果你在安装过程中修改安装目录,则可能需要手动修改所有的环境变量的值。

环境变量设置好后,可以通过 go env 命令来进行测试。

set GO111MODULE=auto
set GOARCH=amd64
set GOBIN=E:goin
set GOCACHE=C:UsersAdministratorAppDataLocalgo-build
set GOENV=C:UsersAdministratorAppDataRoaminggoenv
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=E:gopkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=E:go
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=C:goin
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:goinpkg	oolwindows_amd64
set GCCGO=gccgo
set AR=ar
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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:UsersADMINI~1AppDataLocalTempgo-build220352058=/tmp/go-build -gno-record-gcc-switches
go env