1. CentOS 7下安装go环境
1.1 下载安装包
先到go.dev/dl/ 或者 studygolang.com/dl 选择对应系统的GO版本并下载到服务器上,例如执行
wget https://go.dev/dl/go1.18.linux-amd64.tar.gz
1.2 解压缩安装包
sudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
1.3 配置
在 /etc/profile 文件末尾添加以下内容,将 Golang 可执行文件目录添加到系统 PATH 中,之后
            
            
              bash
              
              
            
          
          vim /etc/profile 
在文件末尾添加 
export GO111MODULE=on
export GOROOT=/usr/local/go
export GOPATH=/root/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
        使用source生效配置。
            
            
              bash
              
              
            
          
          source /etc/profile
        现在就可以在命令行直接使用 go 命令了。
            
            
              bash
              
              
            
          
          $ go version
go version go1.18 linux/amd64
        配置go环境变量
            
            
              bash
              
              
            
          
          go env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=on
        关于Go的一些介绍
环境变量:
- $GOROOT: 表示Go的安装目录。也就是上面我们解压出来的文件夹里面的
go文件夹。 - $GOPATH: 表示我们的工作空间。用来存放我们的工程目录的地方。
 
GOPATH目录:
一般来说GOPATH下面会有三个文件夹:bin、pkg、src,没有的话自己创建。每个文件夹都有其的作用。
- bin:编译后可的执行文件的存放路径
 - pkg:编译包时,生成的.a文件的存放路径
 - src:源码路径,一般我们的工程就创建在
src下面。 
注意:如果要用Go Mod(Go1.11及以上支持)进行包管理,则需要在 GOPATH 以外的目录创建工程。关于Go Mod的使用,可以自行Google一下,这里就不赘述了。
2. Mac下安装go环境
先到go.dev/dl/ 或者 studygolang.com/dl 选择对应系统的GO版本并下载到服务器上,注意如果是
M1的系统,要选择ARM64架构的安装包Mac的安装方式可以有两种:
go二进制包pgk软件包-- 就是图形化安装软件按照提示即可安装
1. 下载go安装包
官网下载go安装包: golang.google.cn/dl/
下载go二进制包go1.16.2.darwin-amd64.tar.gz
            
            
              bash
              
              
            
          
          wget -c https://golang.google.cn/dl/go1.16.2.darwin-amd64.tar.gz
        2. 安装go
安装目录: /usr/local/go
            
            
              bash
              
              
            
          
          sudo tar -xzvf go1.16.2.darwin-amd64.tar.gz -C /usr/local
cd /usr/local/go
        查看go的安装目录:
            
            
              bash
              
              
            
          
          cd /usr/local/go
ls
        3. 配置环境变量
编辑~/.bash_profile文件:
            
            
              bash
              
              
            
          
          vim ~/.bash_profile
        追加以下内容:
            
            
              bash
              
              
            
          
          export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/go
        注意, GOPATH配置为你的工作区目录
编辑~/.zshrc文件:
            
            
              bash
              
              
            
          
          vim ~/.zshrc
        追加以下内容:
            
            
              bash
              
              
            
          
          source ~/.bash_profile
        使终端对以上配置的环境变量生效:
            
            
              bash
              
              
            
          
          source ~/.zshrc
        或者直接编辑
~/.zshrc文件
4. 检测go开发环境是否安装成功
            
            
              bash
              
              
            
          
          $ go env
省略...
GOPATH="/Users/xx/go"
GOROOT="/usr/local/go"
省略...
        其中,
- GOPATH: go工作区, 即编写代码存放的目录
 - GOROOT: go的安装目录
 
查看版本:
            
            
              bash
              
              
            
          
          $ go version
go version go1.16.2 darwin/amd64
        在GOPATH工作区目录下, 一般有3个目录, 分别是
- bin: 存储可执行bin文件
 - pkg: 编译完成的文件
 - src: 源代码文件
 
$GOPATH/pkg目录在执行go get -u 库名会自动创建, src目录不存在则需要手动创建, 示例如下:
            
            
              bash
              
              
            
          
          mkdir -p $GOPATH/src
mkdir -p $GOPATH/bin
        在$GOPATH/src目录下, 创建新项目进行开发
5. 设置go国内模块代理
参考:
编辑~/.bash_profile:
            
            
              bash
              
              
            
          
          vim ~/.bash_profile
        追加以下内容:
            
            
              bash
              
              
            
          
          export GO111MODULE=on
export GOPROXY=https://goproxy.cn
        使以上配置的环境变量生效:
            
            
              bash
              
              
            
          
          source ~/.zshrc
        至此, go开发环境安装成功。
6. 创建go的hello项目
创建go的hello项目:
            
            
              bash
              
              
            
          
          $ cd $GOPATH/src
$ mkdir hello
$ cd hello
$ go mod init zhuxiongxian.com/hello # 初始化项目
go: creating new go.mod: module zhuxiongxian.com/hello
go: to add module requirements and sums:
	go mod tidy
$ go mod tidy
        其中,
go mod tidy: 增加缺少的module, 删除无用的module- go get/go run/go build会自动下载依赖
 go mod init zhuxiongxian.com/hello需要在src目录下创建zhuxiongxian.com/hello目录,否则VSCode会有报错提示如下:Error loading workspace: You are outside of a module and outside of $GOPATH/src. If you are using mo相关连接:- go golang error :Error loading workspace: You are outside of a module and outside of $GOPATH/src. If you are using mo
 
创建hello.go文件:
            
            
              bash
              
              
            
          
          vim hello.go
        hello.go文件内容如下:
            
            
              go
              
              
            
          
          package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}
        运行go的hello项目:
            
            
              bash
              
              
            
          
          $ cd cd $GOPATH/src/hello
$ go run .
Hello, World!
        7. 安装gin框架
导入依赖
            
            
              bash
              
              
            
          
          go get -u github.com/gin-gonic/gin
        在代码中导包:
            
            
              bash
              
              
            
          
          import "github.com/gin-gonic/gin"
        8. 创建gin的demo项目
            
            
              bash
              
              
            
          
          cd $GOPATH/src
mkdir gin-demo
cd gin-demo
vim example.go
        example.go文件内容:
            
            
              go
              
              
            
          
          package main
import "github.com/gin-gonic/gin"
func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    // r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
    r.Run(":10240")
}
go mod init zhuxiongxian.com/gin-demo
go mod tidy
go run example.go
或
go run .
        
            
            
              json
              
              
            
          
          {
    "message": "pong"
}