目录
一、实验
1.环境
2.初始化Go项目
3.Go项目工程化
4. 导入Gin包
5.下载viper与logrus依赖
二、问题
1.Windows如何进行go的版本升级
2. Go mod常用命令
3.下载Gin依赖失败
一、实验
1.环境
(1)主机
表1 主机
| 系统 | 软件 | 版本 | 备注 |
| Windows11 | VS Code | 1.92.2 | |
| go | 1.20.4 |
运行(输入cmd)

查看VS Code版本
Code --version

查看go版本
go version

2.初始化Go项目
(1) go env查看GOPATH
![]()
(2) 进入GOPATH目录下
C:\Gocode\src
(3)创建项目工程
创建project-devops
![]()
(4)VS Code打开工程

(5)右上角点击打开命令行

(6)初始化项目
go mod init project-devops

(7)查看当前目录
工程目录下自动生成了go.mod

(8)创建main.go
VS Code创建main.go文件,作为项目的总入口

3.Go项目工程化
(1)配置层

VS Code创建config目录及config.go文件,存放程序的配置信息
(2)配置层
VS Code创建routers目录及routers.go文件,管理程序的路由信息

(3)控制器层

VS Code创建controllers目录及controllers.go文件,实现路由的处理逻辑

(4)中间件层

VS Code创建middlewares目录及middlewares.go文件,配置路由的中间件

(5)模型层

VS Code创建models目录及models.go文件,实现数据的CRUD操作
CRUD操作:
1)create 添加数据
2)read 读取数据
3)update 修改数据
4)delete 删除数据

(6)工具类层

VS Code创建utils目录及utils.go文件,作为工具类封装

4. 导入Gin包
(1)访问
https://pkg.go.dev/
(2) 搜索gin

点击进入

点击扩展

查看
import "github.com/gin-gonic/gin"

(3)config.go创建初始化函数
func init() {
println("Start加载程序配置!")
}

(4)main.go导入依赖与配置gin
import (
_ "project-devops/config"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.Run()
}

(5)下载gin依赖
go get github.com/gin-gonic/gin

(6)运行
go run .\main.go
打印了配置层初始化信息
5.下载viper与logrus依赖
(1)访问
https://pkg.go.dev/
(2) 搜索viper ( 用来处理程序配置)

点击进入

点击扩展

查看安装

(3)下载viper依赖
go get github.com/spf13/viper
(4) 搜索logrus (用来处理程序日志)

点击进入
点击扩展

查看安装

(3)下载logrus依赖
go get github.com/sirupsen/logrus
(4)最后查看go.mod
相关依赖都已更新

二、问题
1.Windows如何进行go的版本升级
(1)访问官网
https://golang.google.cn/dl/
(2)查看历史版本
点击Show

选最对应版本下载

选择对应的Windows版本下载安装
https://golang.google.cn/dl/go1.20.4.windows-amd64.msi
![]()
(3)配置Go环境便变量
我的电脑-属性-高级系统设置

确认Go的系统变量

确认Go的用户变量
![]()
(4)查看配置的环境变量
cmd执行
go env
(5) VSCode 安装Go插件
搜索go 安装

安装Go 辅助工具,输入ctrl + shift + p

点击确定,等待安装

2. Go mod常用命令
(1)常用命令
1)go mod init
初始化模块,并在当前目录下创建go.mod文件
2)go mod tidy
清理未使用的依赖项,并更新go.mod文件
3)go mod vender
将依赖项复制到vender目录,方便离线部署
4) go mod download
下载当前模块机器依赖的所有依赖
5) go mod graph
以文本形式打印模块依赖图
6)go list -m all
列出当前模块及其依赖项的所有模块和版本
7) go get
获取指定包或模块,并将其添加到go.mod文件
8) go get -u
更新指定包的版本
3.下载Gin依赖失败
(1)报错
github.com/gin-gonic/gin imports
github.com/gin-gonic/gin/binding imports
github.com/pelletier/go-toml/v2 imports
slices: package slices is not in GOROOT (C:\Program Files\Go\src\slices)
note: imported by a module that requires go 1.21

(2)原因分析
go get -u github.com/gin-gonic/gin
因为当前go版本为1.20.4,更新指定包的版本至少需要go 1.21
(3)解决方法
在不升级版本的情况下,获取指定包或模块,并将其添加到go.mod文件
go get github.com/gin-gonic/gin
成功:









![[ABC368G] Add and Multiply Queries](https://i-blog.csdnimg.cn/direct/7d55369d4c604bcbbf938076eb2785a5.png)













