安装:

golang编译器安装过程比较简单,也比较快,不同平台下(win/linux/macos)都比较相似;

https://dl.gocn.io/golang/1.9.2/go1.9.2.src.tar.gz  下载对应的系统版本的编译器

go的版本号由"." 分为3部分

如当前的最新版本为1.9.2,那么其中第一个数字代表go的大版本,目前为1.0版本;

第二个数字表示小版本,主要是各种优化与BUG修复,以及一些新的语言特性;

第三个数字表示紧急修复版本;

golang官方承诺大版本号相同的情况下,语法格式不会有变化,而目前没有任何GO2.0的消息,因此当前最新版本会始终保持对低版本的向下兼容,因此始终用最高的版本即可;

安装方式有两种:

     ·源码编译安装,然后配置环境变量

     ·直接下载对应操作系统的二进制文件,然后配置环境变量

下面分别介绍

     1、源码编译安装

          1.5以下的golang编译器需要用gcc编译,而1.5及以上的golang编译器则需要通过golang自身来编译,因此如果当前系统下没有golang编译器,需要先用gcc编译一个低版本(<1.4.x)的golang编译器,然后用这个低版本的 golang编译器进行编译最新版的golang编译器。

具体编译的方式是运行 xxx/go/src/make.bash,其中第二次,也就是用低版本的go编译高版本的go,需要设置一个环境变量:

          export GOROOT_BOOTSTRAP=‘低版本go的根路径’,然后再执行make.bash

          

     2、直接下载二进制文件

          其实有更简单的办法,那就是直接下载对应操作系统版本的二进制文件,缺点是相对源码安装的方式会比较大。(这种简单粗暴的安装方式也体现出了go的特性与优势,那就是只认内核 ,因此go程序部署非常方便,直接拷贝编译好的二进制文件即可,不需要任何依赖,因此也不存在所谓go环境的说法)

     不管用哪种方式安装,最终在go目录下会存在 bin/go 的可执行文件,这就是golang的解释器

     执行 bin/go version

      

     如果能打印出上图这样的结果,就表示golang编译器安装成功了~

     安装完毕以后还需要配置环境变量,需要配置以下3个环境变量:

          · PATH       :  go命令行

          · GOROOT :  各种依赖库的路径

          · GOPATH  :  工程路径

     以linux操作系统为例,可以直接修改~/.bashrc ,配置$GOROOT和GOPATH,并在PATH下追加,示例:

          export GOROOT=/home/work/code/go

          export GOPATH=/home/work/go

          export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

     配置完成后别忘了 source ~/.bashrc,然后在命令行执行 go env 看一看相应的配置是否正确,至此,GO的"开发环境"已经搭建完成。


helloworld:

     接下来编译、执行第一个golang程序;

     在任意路径下创建一个文件 hello.go,编写如下代码:

     

     然后执行 go run hello.go,如果环境配置的没有问题,应该会将这段字符串输出;

     go run 命令表示编译并执行;

     直接编译的命令是: go build hello.go, 执行它,会在当前路径下生成一个名为 hello 的可执行文件;

     

     因此 go run 可以近似的理解为,按顺序先后执行3个命令:   go build hello.go && ./hello && rm hello;

     至此,第一个go程序实现完成


编辑器的配置(linux):

首先了解几个非常实用的工具:

go fmt:        自动格式化代码,这个是自带的

goimports:   自动管理代码中引用的包(自动添加、移除引用),需要手动安装,方法如下:

                    mkdir -p $GOPATH/src/golang.org/x

                    git clone https://github.com/golang/tools.git

                    go install golang.org/x/tools/smd/goimports

                    

linux下开发go程序,可以通过samba连接,然后使用vs code、sublime之类的工具,也可以直接用VIM,下面介绍一下VIM的配置方式 (待续)


TIP:

1、go代码的编译方式由原先的gcc变为go自身,主要的优势在于go对协程的支持比较好,因此采用go编译后支持了并行编译,编译速度大大提升。

2、go简单粗暴的二进制安装 方式也体现出了go的特性与优势,那就是只认内核 ,因此go程序部署非常方便,直接拷贝编译好的二进制文件即可,不需要任何依赖,因此也不存在所谓go环境的说法

3、go跨平台编译的方法: GOOS=xxx(windows/linux/darwin) go build hello.go  如果是在linux下编译成windows,则生成的可执行文件会加.exe后缀,直接拷贝到windows下就可以运行啦~

4、像gcc一样, go build 也可以通过 -o 参数修改编译后可执行文件的名称,如:go build -o test hello.go