Go开发运维:Go项目工程化进行初始配置
VS Code创建controllers目录及controllers.go文件,实现路由的处理逻辑。VS Code创建middlewares目录及middlewares.go文件,配置路由的中间件。VS Code创建routers目录及routers.go文件,管理程序的路由信息。VS Code创建models目录及models.go文件,实现数据的CRUD操作。VS Code创建config目录
目录
一、实验
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
成功:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)