Go下载安装教程

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下面会有三个文件夹:binpkgsrc,没有的话自己创建。每个文件夹都有其的作用。

  • 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的安装方式可以有两种:

  1. go二进制包
  2. 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

其中,

创建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 .

访问: http://0.0.0.0:10240/ping

json 复制代码
{
    "message": "pong"
}
相关推荐
半聋半瞎4 分钟前
Flowable快速入门(Spring Boot整合版)
java·spring boot·后端·flowable
毕设源码-邱学长20 分钟前
【开题答辩全过程】以 基于SpringBoot的理工学院学术档案管理系统为例,包含答辩的问题和答案
java·spring boot·后端
修己xj29 分钟前
SpringBoot解析.mdb文件实战指南
java·spring boot·后端
lpfasd1231 小时前
Spring Boot 定时任务详解(从入门到实战)
spring boot·后端·python
moxiaoran57531 小时前
Go语言的文件操作
开发语言·后端·golang
赴前尘1 小时前
记一次golang进程执行卡住的问题排查
开发语言·后端·golang
码农小卡拉1 小时前
Prometheus 监控 SpringBoot 应用完整教程
spring boot·后端·grafana·prometheus
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue球鞋购物系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
苏渡苇2 小时前
用 Spring Boot 项目给工厂装“遥控器”:一行 API 控制现场设备!
java·人工智能·spring boot·后端·网络协议·边缘计算
短剑重铸之日2 小时前
《设计模式》第五篇:策略模式
java·后端·设计模式·策略模式