Golang环境搭建 gvm版本管理 Gin框架

Github

Golang 官网

下以操作均在 Mac 环境

安装 gvm

# 安装相关依赖
brew install mercurial
# 安装 gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# gvm直接生效
source ~/.gvm/scripts/gvm
# 查看版本
gvm version

配置环境变量

官方国内镜像:https://golang.google.cn/dl/
阿里云镜像:https://mirrors.aliyun.com/golang/
中科大镜像:http://mirrors.ustc.edu.cn/golang/

vim ~/.bash_profile
# 添加内容
export GO111MODULE=on
export GOPROXY=https://goproxy.io,direct
export GO_BINARY_BASE_URL=https://golang.google.cn/dl/
export G_MIRROR=https://golang.google.cn/dl/
[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"
export GOROOT_BOOTSTRAP=$GOROOT
# 环境生效
source ~/.bash_profile

gvm常用命令

# 查看可安装版本
gvm listall
# 查看已安装版本
gvm list
# 安装 Go 版本(1.4>版本,需要加上-B)
gvm install go1.21.2 -B
# 使用指定版本
gvm use go1.21.2
# 设置默认版本
gvm use go1.21.2 --default
# 卸载 Go 版本
gvm uninstall go1.21.2
# 要完全删除 gvm 以及所有已安装的 Go 版本和软件包
gvm implode

gvm安装Golang

gvm install go1.4 -B
gvm use go1.4
# 安装1.7+版本需要先安装1.4
gvm install go1.17.13 -B
gvm use go1.17.13
# 安装1.20+版本需要先安装1.17
gvm install go1.21.6 -B
gvm use go1.21.6
# 设置为默认版本
gvm use go1.21.6 --default
  • 安装完最新版,不需用到旧版本可以卸载
gvm uninstall go1.4
gvm uninstall go1.17.13
# 卸载其它有安装包的版本
gvm use go1.21.4 && go clean -modcache
gvm uninstall go1.21.4
  • 验证Golang是否安装成功
# 查看 Go 版本
go version
  • Golang 环境信息
# 打印 Go 语言环境信息
go env
名称说明
CGO_ENABLED指明cgo工具是否可用的标识。
GOARCH程序构建环境的目标计算架构。
GOBIN存放可执行文件的目录的绝对路径。
GOCHAR程序构建环境的目标计算架构的单字符标识。
GOEXE可执行文件的后缀。
GOHOSTARCH程序运行环境的目标计算架构。
GOOS程序构建环境的目标操作系统。
GOHOSTOS程序运行环境的目标操作系统。
GOPATH工作区目录的绝对路径。
GORACE用于数据竞争检测的相关选项。
GOROOTGo 语言的安装目录的绝对路径。
GOTOOLDIRGo 工具目录的绝对路径。
  • GOROOT和GOPATH
# Go 语言安装目录 ~/.gvm/gos/go1.21.6
echo $GOROOT
# Go 语言源码存放目录 ~/.gvm/pkgsets/go1.21.6/global
echo $GOPATH
  • Golang 安装包缓存目录
cd ~/.gvm/archive

创建项目

mkdir demo1
cd demo1
# 初始化项目
go mod init example.com/demo1
# 创建main.go文件
vim main.go
package main

import (
	"fmt"
)

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

运行应用

# 下载依赖包
go mod tidy
# 执行程序
go run main.go
  • 编译生成可执行程序
go build main.go

Go 常用命令

  • go run 编译并运行
go run main.go
  • go build 编译 Go 程序
# 生成一个可执行文件
go build main.go
  • go install 编译并安装Go 程序
# 将生成的可执行文件安装到 $GOPATH/bin 目录下
go install main.go
  • go get 下载并安装指定的包及其依赖
go get .
# 获取github远程代码包
go get github.com/example/package
  • go vet 检查 Go 代码中的静态错误
go vet main.go
  • go fmt 格式化 Go 代码
# 使其符合 Go 的编码规范
go fmt main.go
  • go test 运行测试文件
go test filename_test.go
  • go doc 查看文档
# 可以查看包、函数等的文档
go doc fmt.Println
  • go clean 清理编译缓存和生成的文件
# 清理安装的包
go clean -i
  • go version 显示安装的 Go 版本
go version
  • go env 显示 Go 相关的环境变量信息
go env
  • go list 列出指定模块的所有包
go list

Gin Web 框架

Gin 简介

Gin框架是一个用于构建Go语言Web应用程序的轻量级框架。它以速度和高效性为设计目标,被广泛用于构建RESTful API。

Gin Github

Gin 文档

代码示例

mkdir demo2
cd demo2
# 初始化项目
go mod init example.com/demo2
# 创建main.go文件
vim main.go
  • main.go
package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	router := gin.Default()

	// 创建一个路由组 "/api"
	apiGroup := router.Group("/api")

	// 在路由组中定义路由
	apiGroup.GET("/users", getUsers)
	apiGroup.POST("/users", createUser)
	apiGroup.GET("/posts", getPosts)

	// 启动服务器
	router.Run(":8080")
}

// 路由处理函数
func getUsers(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{"message": "Get Users"})
}

func createUser(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{"message": "Create User"})
}

func getPosts(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{"message": "Get Posts"})
}
  • 运行应用
# 下载依赖包
go mod tidy
# 执行程序
go run main.go

推荐开源框架

推存开源项目

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逢生博客

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值