Golang入门:环境配置

前言

在前一篇博客中我们学习了如何配置Centos私有云,下一步我们将要学习Go语言编程。

什么是Go语言?

Go语言由Google于2009年发布,它是一种静态强类型、编译型、并发型、解释型的编程语言,并且具有便利的垃圾回收和强大的运行时反射。

Go语言是简洁的和有效率的,实用性很强。

要学习Go语言编程,第一步就是要学习配置需要的相关环境。

Centos

安装Golang

有两种方法可以安装Golang:

  1. 下载最新版本的go1.11.linux-amd64.tar.gz,然后解压并配置环境变量,这种方法相对复杂些
  2. 利用系统包管理工具直接下载Golang,这种方法简单。但Golang不是最新版本的,但也不影响使用

安装最新版Golang

下载二进制包可以去官网下载,也可以利用wget工具自动下载:

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

然后解压,可以指定解压到的目录:

1
sudo tar -zxvf go1.11.linux-amd64.tar.gz -C /opt/

记得一定要加上-C(大写)这个参数,创建默认文件夹才能被成功解压,否则报错如下:

设置环境变量,sudo vi /etc/profile,在底部加上

1
2
export GOROOT=/opt/go
export PATH=$PATH:$GOROOT/bin

然后source /etc/profile更新环境变量,再使用go version检查配置是否正常:

我们可以使用go env来查看Go的环境变量,其中比较重要的是GOROOTGOPATHGOROOT里面放置系统代码和中间文件,而GOPATH可以作为我们的工作空间。GOROOTGOPATH中都有三个子目录:

  • src:存放被组织成包的源代码(.go .c .h .s等)
  • pkg:存放编译后生成的文件(.a)
  • bin:存放编译后生成的可执行文件

为了方便,可以把bin加入到 $PATH 变量中,便于直接运行Go程序

创建工作空间:

1
mkdir $HOME/gowork

修改配置文件,sudo vi /etc/profile

1
2
export GOPATH=$HOME/gowork
export PATH=$PATH:$GOPATH/bin

更新配置文件后可以通过go env来查看是否设置成功。

利用包管理工具安装Golang

1
sudo yum install golang

查看Golang安装的目录:

1
rpm -ql golang |more

测试安装:

1
go version

然后是创建工作空间和配置GOPATHPATH这两个环境变量,步骤同上。

安装工具和插件

安装VSCode

安装过程参考官方给出的教程

1
2
3
4
5
6
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

yum check-update
sudo yum install code

然后就可以打开VSCode了。

编写Hello,World

首先创建源代码目录:

1
mkdir $GOPATH/src/github.com/github-user/hello -p

然后使用VSCode编写一个hello.go文件(VSCode会提示安装Go相关插件):

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Printf("hello, world\n")
}

终端运行:

安装git客户端

由于Go语言的插件主要在github上,因此git客户端必不可少

1
sudo yum install git

但这样安装的git太老,总觉得用着不舒服,因此我选择更新:

  1. 首先移除安装的旧版本

    1
    sudo yum remove git
  2. 安装所需的软件包

    1
    2
    3
    sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

    sudo yum install gcc perl-ExtUtils-MakeMaker
  3. 去官网下载安装包并解压

    1
    2
    wget https://www.kernel.org/pub/software/scm/git/git-2.9.2.tar.gz
    tar -zxvf git-2.9.2.tar.gz
  4. 编译安装

    1
    2
    3
    cd git-2.9.2
    make prefix=/usr/local/git all
    sudo make prefix=/usr/local/git install
  5. 配置环境变量,在/etc/profile中添加

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

    更新环境变量

    1
    source /etc/profile
  6. 如果此时查看git仍是旧版本,执行以下语句:

    1
    2
    3
    4
    sudo yum remove -y git
    source /etc/bashrc
    cd ~/
    git --version

安装Go的一些工具

当我们进入VSCode打开hello.go时,VSCode会提示我们安装go-outline,点击Install却失败了,需要手动安装:

  1. 下载源码到本地

    1
    2
    3
    4
    5
    6
    # 创建文件夹
    mkdir -p $GOPATH/src/golang.org/x/
    # 下载源码
    go get -d github.com/golang/tools
    # copy
    cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
  2. 安装工具包

    1
    go install $GOPATH/src/golang.org/x/tools/go/buildutil

    重启VSCode,按照提示安装即可

  3. 安装运行 hello world

    1
    go install github.com/github-user/hello

安装go tour

1
go get -u github.com/Go-zh/tour/gotour

安装好之后会在工作空间的 bin 目录中创建一个 gotour 可执行文件

运行Go语言之旅

1
go tool tour

绑定git远程仓库

之前我们已经在github.com文件夹下创建了与自己的github账户同名的文件夹,现在需要把这个文件夹绑定git上的远程仓库,用来保存我们以后编写的Go语言代码。

github上创建一个仓库用于同步之后就可以来绑定远程仓库了,本地执行指令如下:

1
2
3
4
git init 
git config --global user.name "xxx"
git config --global user.email "xxx@xxx"
git remote add origin your_repo_url

以上传hello文件夹为例:

1
2
3
git add hello/
git commit -m 'first commit'
git push -u origin master

git相关指令详见git学习笔记

-------------本文结束感谢您的阅读-------------