一、环境安装
  1. 查看当前系统版本111

[root@wzx-linux ~]# uname -r
3.10.0-1160.80.1.el7.x86_64
[root@wzx-linux ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@wzx-linux ~]#
  1. 下载Go源码包

[root@wzx-linux ~]# cd /opt/
[root@wzx-linux opt]# wget https://dl.google.com/go/go1.11.4.linux-amd64.tar.gz
  1. 解压源码包

[root@wzx-linux opt]# tar -zxvf go1.11.4.linux-amd64.tar.gz
  1. 配置go的工作空间(配置GOPATH),以及go的环境变量

4.1注:

go的代码必须在GOPATH中,也就是一个工作目录,目录包含三个子目录:

$GOPATH

src 存放go源代码的目录,存放golang项目的目录,所有项目都放到gopath的src目录下

bin 在go install后生成的可执行文件的目录

pkg 编译后生成的,源码文件,如.a

4.2

创建/opt/gocode/{src,bin,pkg},用于设置GOPATH为/opt/godocer

[root@wzx-linux opt]# mkdir -p /opt/gocode/{src,bin,pkg}
  1. 设置GOPATH环境变量

修改/etc/profile系统环境变量文件,写入GOPATH信息以及go sdk路径

[root@wzx-linux opt]# vim /etc/profile
export GOROOT=/opt/go           #Golang源代码目录,安装目录
export GOPATH=/opt/gocode       #Golang项目代码目录
export PATH=$GOROOT/bin:$PATH   #Linux环境变量
export GOBIN=$GOPATH/bin        #go install后生成的可执行命令存放路径

生效环境变量

[root@wzx-linux opt]# source /etc/profile
  1. 查看go环境是否生效

6.1看go环境变量路径

[root@wzx-linux opt]# which go
/opt/go/bin/go

6.2看go语言环境信息

[root@wzx-linux opt]# go env
GOARCH="amd64"
GOBIN="/opt/gocode/bin"
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/opt/gocode"
GOPROXY=""
GORACE=""
GOROOT="/opt/go"
GOTMPDIR=""
GOTOOLDIR="/opt/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
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-build327941593=/tmp/go-build -gno-record-gcc-switches"

6.3查看go版本,查看是否安装成功

[root@wzx-linux opt]# go version
go version go1.11.4 linux/amd64

二、运行第一个go程序

  1. 进入GOPATH工作目录

1.1进入src代码目录

[root@wzx-linux opt]# cd /opt/gocode/src/

1.2新建一个go代码"包",hellogo

[root@wzx-linux src]# mkdir hellogo

1.3切换go包的目录,hellogo目录

[root@wzx-linux src]# cd hellogo/

2.编辑main.go写入如下代码

[root@wzx-linux hellogo]# vim main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello,welcome golang world")
}

3.运行go代码文件

3.1 go run直接编译+运行go代码文件

[root@wzx-linux hellogo]# go run main.go
Hello,welcome golang world

3.2 go fmt格式化go代码文件,统一代码风格

[root@wzx-linux hellogo]# go fmt main.go
main.go

3.3 go build 编译一个二进制可执行程序,用于编译指定的源码文件或代码包以及它们的依赖包

[root@wzx-linux hellogo]# go build main.go
[root@wzx-linux hellogo]# ls
main  main.go

3.4 执行二进制命令,这个命令可以拖动到其他linux机器,直接使用

[root@wzx-linux hellogo]# ./main
Hello,welcome golang world

3.5 go install编译一个二进制可执行程序,放在GOBIN目录下,也就是在$GOPATH/bin目录下

[root@wzx-linux hellogo]# go install main.go
[root@wzx-linux hellogo]# ls ../../bin/
main